examples/LdtPlayer-release.js
author hamidouk
Tue, 29 Nov 2011 11:09:08 +0100
branchpopcorn-port
changeset 345 8a088f7daa66
parent 47 49b0b5b7e8ab
permissions -rw-r--r--
rollover over the interface buttons now works as expected. Also changed the width of the buttons to the correct size. Resized the width and height of the sprites to be the same as the boxes we display them in.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     1
/* 	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     2
 *	Copyright 2010 Institut de recherche et d'innovation 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     3
 *	contributor(s) : Samuel Huron 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     4
 *	Use Silvia Pfeiffer 's javascript mediafragment implementation
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     5
 *
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     6
 *	contact@iri.centrepompidou.fr
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     7
 *	http://www.iri.centrepompidou.fr 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     8
 *	 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
     9
 *	This software is a computer program whose purpose is to show and add annotations on a video .
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    10
 *	This software is governed by the CeCILL-C license under French law and
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    11
 *	abiding by the rules of distribution of free software. You can  use, 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    12
 *	modify and/ or redistribute the software under the terms of the CeCILL-C
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    13
 *	license as circulated by CEA, CNRS and INRIA at the following URL
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    14
 *	"http://www.cecill.info". 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    15
 *	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    16
 *	The fact that you are presently reading this means that you have had
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    17
 *	knowledge of the CeCILL-C license and that you accept its terms.
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    18
*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    19
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    20
if ( window.IriSP === undefined && window.__IriSP === undefined ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    21
	var IriSP = {}; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    22
	var __IriSP = IriSP; /* for backward compatibility */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    23
}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    24
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    25
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    26
// Official instance - to refactor ?
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    27
IriSP.MyLdt 		= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    28
IriSP.MyTags 		= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    29
IriSP.MyApiPlayer	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    30
IriSP.player		= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    31
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    32
// genral var (old code) - to refactor 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    33
IriSP.Durration		= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    34
IriSP.playerLdtWidth	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    35
IriSP.playerLdtHeight	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    36
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    37
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    38
IriSP.init = function ( config ) {		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    39
		if ( config === null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    40
			IriSP.config 			 = IriSP.configDefault;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    41
		} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    42
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    43
			IriSP.config 			 = config;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    44
						
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    45
			if ( IriSP.config.player.params == null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    46
				IriSP.config.player.params = IriSP.configDefault.player.params;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    47
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    48
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    49
			if ( IriSP.config.player.flashvars == null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    50
				IriSP.config.player.flashvars = IriSP.configDefault.player.flashvars;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    51
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    52
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    53
			if ( IriSP.config.player.attributes == null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    54
				IriSP.config.player.attributes = IriSP.configDefault.player.attributes;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    55
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    56
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    57
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    58
		var metadataSrc 		 = IriSP.config.metadata.src;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    59
		var guiContainer		 = IriSP.config.gui.container;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    60
		var guiMode				 = IriSP.config.gui.mode;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    61
		var guiLdtShareTool		 = IriSP.LdtShareTool;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    62
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    63
		// Localize jQuery variable
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    64
		IriSP.jQuery = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    65
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    66
		/* FIXME : to refactor using popcorn.getscript ? */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    67
		/******** Load jQuery if not present *********/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    68
		if ( window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    69
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    70
			var script_tag = document.createElement( 'script' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    71
			script_tag.setAttribute( "type", "text/javascript" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    72
			script_tag.setAttribute( "src", IriSP.lib.jQuery );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    73
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    74
			script_tag.onload = scriptLibHandler;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    75
			script_tag.onreadystatechange = function () { // Same thing but for IE
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    76
				if ( this.readyState == 'complete' || this.readyState == 'loaded' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    77
					scriptLibHandler();					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    78
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    79
			};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    80
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    81
			// Try to find the head, otherwise default to the documentElement
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    82
			( document.getElementsByTagName("head")[0] || document.documentElement ).appendChild( script_tag );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    83
		} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    84
			// The jQuery version on the window is the one we want to use
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    85
			 IriSP.jQuery = window.jQuery;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    86
			 scriptLibHandler();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    87
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    88
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    89
		/******** Called once jQuery has loaded ******/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    90
		function scriptLibHandler() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    91
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    92
			var script_jqUi_tooltip = document.createElement( 'script' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    93
			script_jqUi_tooltip.setAttribute( "type", "text/javascript" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    94
			script_jqUi_tooltip.setAttribute( "src", IriSP.lib.jQueryToolTip );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    95
			script_jqUi_tooltip.onload = scriptLoadHandler;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    96
			script_jqUi_tooltip.onreadystatechange = function () { // Same thing but for IE
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    97
				if ( this.readyState == 'complete' || this.readyState == 'loaded' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    98
					scriptLoadHandler( "jquery.tools.min.js loded" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
    99
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   100
			};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   101
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   102
			var script_swfObj = document.createElement('script');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   103
			script_swfObj.setAttribute( "type","text/javascript" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   104
			script_swfObj.setAttribute( "src",IriSP.lib.swfObject );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   105
			script_swfObj.onload = scriptLoadHandler;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   106
			script_swfObj.onreadystatechange = function () { // Same thing but for IE
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   107
				if ( this.readyState == 'complete' || this.readyState == 'loaded' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   108
					scriptLoadHandler( "swfobject.js loded" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   109
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   110
			};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   111
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   112
			var script_jqUi = document.createElement( 'script' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   113
			script_jqUi.setAttribute( "type","text/javascript" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   114
			script_jqUi.setAttribute( "src",IriSP.lib.jQueryUI );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   115
			script_jqUi.onload = scriptLoadHandler;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   116
			script_jqUi.onreadystatechange = function () { // Same thing but for IE
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   117
				if ( this.readyState == 'complete' || this.readyState == 'loaded' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   118
					scriptLoadHandler( "jquery-ui.min.js loded" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   119
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   120
			};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   121
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   122
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   123
			( document.getElementsByTagName("head")[0] || document.documentElement ).appendChild( script_jqUi_tooltip);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   124
			( document.getElementsByTagName("head")[0] || document.documentElement ).appendChild( script_jqUi );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   125
			( document.getElementsByTagName("head")[0] || document.documentElement ).appendChild( script_swfObj );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   126
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   127
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   128
		};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   129
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   130
		/******** Called once all lib are loaded ******/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   131
		var loadLib = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   132
		/* FIXME : ugly */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   133
		function scriptLoadHandler( Mylib ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   134
			//alert(Mylib);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   135
			loadLib +=1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   136
			if( loadLib===3 ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   137
				main(); 			  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   138
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   139
		};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   140
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   141
		/******** Our main function ********/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   142
		function main() { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   143
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   144
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   145
			//  Make our own IriSP.jQuery and restore window.jQuery if there was one. 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   146
			IriSP.jQuery = window.jQuery.noConflict( true );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   147
			// Call ours Jquery
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   148
			IriSP.jQuery( document ).ready( function($) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   149
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   150
				/******* Load CSS *******/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   151
				var css_link_jquery = IriSP.jQuery( "<link>", { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   152
					rel: "stylesheet", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   153
					type: "text/css", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   154
					href: IriSP.lib.cssjQueryUI,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   155
					'class': "dynamic_css"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   156
				} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   157
				var css_link_custom = IriSP.jQuery( "<link>", { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   158
					rel: "stylesheet", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   159
					type: "text/css", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   160
					href: IriSP.config.gui.css,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   161
					'class': "dynamic_css"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   162
				} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   163
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   164
				css_link_jquery.appendTo( 'head' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   165
				css_link_custom.appendTo( 'head' );   
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   166
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   167
				// to see dynamicly loaded css on IE
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   168
				if ( $.browser.msie ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   169
					$( '.dynamic_css' ).clone().appendTo( 'head' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   170
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   171
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   172
				//__IriSP.trace("main","ready createMyHtml");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   173
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   174
				IriSP.createPlayerChrome();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   175
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   176
				/******* Load Metadata *******/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   177
				IriSP.getMetadata();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   178
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   179
			});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   180
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   181
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   182
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   183
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   184
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   185
__IriSP.Media = function ( id, url, duration, title, description ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   186
		this.id 		 	= id;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   187
		this.url 		= url;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   188
		this.title 		= title;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   189
		this.description = description;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   190
		this.duration 	= duration;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   191
		this.lignes 	  	= new Array();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   192
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   193
		IriSP.trace( "__IriSP.Media" , "Media ID : "+id);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   194
		IriSP.trace( "__IriSP.Media" , "Media URL : "+url);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   195
		IriSP.trace( "__IriSP.Media" , "Media title : "+title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   196
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   197
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   198
__IriSP.Media.prototype.createPlayerMedia = function ( width, height, MyStreamer, MySwfPath) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   199
		IriSP.MyApiPlayer = new __IriSP.APIplayer( width, height, this.url, this.duration, MyStreamer, MySwfPath);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   200
		//createPlayer(width,height,this.url,this.duration,MyStreamer,MySwfPath);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   201
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   202
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   203
__IriSP.Media.prototype.getMediaDuration = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   204
		return (this.duration);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   205
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   206
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   207
__IriSP.Media.prototype.getMediaTitle = function (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   208
		return (this.title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   209
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   210
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   211
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   212
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   213
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   214
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   215
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   216
/*  FIXME : API player - work in progress ... need refactoring of code */ 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   217
__IriSP.APIplayer = function ( width, height, url, duration, streamerPath, MySwfPath){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   218
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   219
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   220
		this.player 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   221
		this.hashchangeUpdate 	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   222
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   223
		this.width				= width;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   224
		this.height				= height;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   225
		this.url				= url;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   226
		this.duration			= duration;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   227
		this.streamerPath		= streamerPath;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   228
		this.MySwfPath			= MySwfPath;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   229
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   230
		IriSP.MyApiPlayer		= this;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   231
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   232
		IriSP.createPlayer( this.url, this.streamerPath );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   233
		IriSP.trace( "__IriSP.APIplayer", "__IriSP.createPlayer" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   234
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   235
	//__IriSP.config.player
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   236
	/*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   237
	- dailymotion  // &enableApi=1&chromeless=1
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   238
	- youtube 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   239
	- html5
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   240
	- flowplayer 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   241
	- jwplayer
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   242
	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   243
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   244
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   245
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   246
__IriSP.APIplayer.prototype.ready = function( player ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   247
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   248
	//__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady"," __IriSP.createInterface");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   249
	IriSP.createInterface( this.width, this.height, this.duration );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   250
	//__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady","END  __IriSP.createInterface");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   251
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   252
	// hashchange EVENT
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   253
	if ( window.addEventListener ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   254
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   255
	// for firefox  hashchange EVENT
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   256
		window.addEventListener( "hashchange", function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   257
		  var url = window.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   258
		  var time = IriSP.retrieveTimeFragment( url );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   259
		  IriSP.trace( "__IriSP.APIplayer.prototype.ready", time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   260
		  if( IriSP.MyApiPlayer.hashchangeUpdate==null ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   261
			IriSP.MyApiPlayer.seek( time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   262
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   263
		  } else {			  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   264
			IriSP.MyApiPlayer.hashchangeUpdate = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   265
		  }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   266
		}, false );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   267
	 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   268
	} else if (window.attachEvent){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   269
	// for ie hashchange EVENT
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   270
		window.attachEvent( "onhashchange", function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   271
		  IriSP.trace( "hashchange",time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   272
		  var url = window.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   273
		  var time = IriSP.retrieveTimeFragment( url );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   274
		  if( IriSP.MyApiPlayer.hashchangeUpdate == null ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   275
			IriSP.MyApiPlayer.seek(time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   276
		  } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   277
			IriSP.MyApiPlayer.hashchangeUpdate = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   278
		  }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   279
		}, false);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   280
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   281
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   282
	// Search
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   283
	//__IriSP.jQuery("#LdtSearchInput").change(function() {__IriSP.Search(this.value);});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   284
	//__IriSP.jQuery("#LdtSearchInput").live('change', function(event) {__IriSP.Search(this.value);}); 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   285
	IriSP.jQuery( "#LdtSearchInput" ).keydown( function() { IriSP.Search( this.value );} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   286
	IriSP.jQuery("#LdtSearchInput").keyup( function() { IriSP.Search( this.value );} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   287
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   288
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   289
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   290
__IriSP.APIplayer.prototype.pause = function(){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   291
	this.hashchangeUpdate = true;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   292
	IriSP.player.sendEvent( 'PAUSE' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   293
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   294
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   295
__IriSP.APIplayer.prototype.play  = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   296
	this.hashchangeUpdate = true;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   297
	//__IriSP.trace("__IriSP.config.player.type",__IriSP.config.player.type);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   298
	if( IriSP.config.player.type=='jwplayer' ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   299
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   300
		IriSP.player.sendEvent( 'PLAY' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   301
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   302
	} else if(IriSP.config.player.type == 'dailymotion' 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   303
			  || IriSP.config.player.type == 'youtube' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   304
			  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   305
		var status = IriSP.player.getPlayerState();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   306
		IriSP.trace( "__IriSP.APIplayer.prototype.play.status", status);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   307
		if ( status != 1 ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   308
			IriSP.player.playVideo();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   309
		} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   310
			IriSP.player.pauseVideo();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   311
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   312
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   313
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   314
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   315
__IriSP.APIplayer.prototype.mute  = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   316
	IriSP.player.sendEvent( 'MUTE' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   317
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   318
	//alert(__IriSP.jQuery(".ui-icon-volume-on").css("background-position-x"));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   319
	/* FIXME : remove hardcoded values */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   320
	if ( IriSP.jQuery( ".ui-icon-volume-on" ).css( "background-position" ) == "-144px -160px" ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   321
		IriSP.jQuery(" .ui-icon-volume-on ").css(" background-position ", "-130px -160px");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   322
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   323
		IriSP.jQuery( ".ui-icon-volume-on" ).css( "background-position", "-144px -160px" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   324
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   325
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   326
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   327
/* FIXME : rename */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   328
__IriSP.APIplayer.prototype.share = function( network ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   329
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   330
	/* FIXME : remove hardcoded */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   331
	var MyMessage = encodeURIComponent( "J'écoute Les Retours du Dimanche : " );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   332
	var MyURLNow = window.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   333
	var shareURL = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   334
	//alert(network+" : "+MyURLNow);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   335
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   336
	/* FIXME : use a sharing library */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   337
	if(network == "facebook"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   338
			shareURL = "http://www.facebook.com/share.php?u=";			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   339
		}else if(network == "twitter"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   340
			shareURL  = "http://twitter.com/home?status="+MyMessage;	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   341
		}else if(network == "myspace"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   342
			shareURL ="http://www.myspace.com/Modules/PostTo/Pages/?u=";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   343
		}else if(network == "delicious"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   344
			shareURL = "http://delicious.com/save?url=";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   345
		}else if(network == "JameSpot"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   346
			shareURL = "http://www.jamespot.com/?action=spotit&u=";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   347
			//alert(network+" non actif pour l'instant : "+MyURLNow);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   348
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   349
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   350
	if (shareURL != null)
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   351
		window.open( shareURL+encodeURIComponent(MyURLNow) );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   352
	//window.location.href = shareURL+encodeURIComponent(MyURLNow);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   353
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   354
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   355
__IriSP.APIplayer.prototype.seek = function (time) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   356
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   357
	if( time==0 ) { time=1; }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   358
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   359
	IriSP.trace( "__IriSP.APIplayer.prototype.seek", time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   360
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   361
	if( IriSP.config.player.type=='jwplayer') {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   362
		//__IriSP.MyApiPlayer.play()
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   363
		IriSP.player.sendEvent( 'SEEK', time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   364
	} else if( IriSP.config.player.type=='dailymotion'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   365
			|| IriSP.config.player.type=='youtube' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   366
		IriSP.player.seekTo( time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   367
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   368
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   369
	this.changePageUrlOffset( time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   370
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   371
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   372
__IriSP.APIplayer.prototype.update = function (time) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   373
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   374
	if( time != 0 ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   375
		this.hashchangeUpdate = true;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   376
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   377
		IriSP.trace( "__IriSP.APIplayer.prototype.update" ,time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   378
		IriSP.player.sendEvent( 'SEEK', time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   379
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   380
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   381
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   382
__IriSP.APIplayer.prototype.changePageUrlOffset = function ( time ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   383
	//alert(time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   384
  IriSP.trace( "__IriSP.APIplayer.prototype.changePageUrlOffset" , "CHANGE URL "+ time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   385
  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   386
  window.location.hash = "#t=" + time;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   387
  window.location.href =  window.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   388
  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   389
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   390
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   391
/* Media Fragment functionality by Silvia Pfeiffer */ 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   392
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   393
IriSP.jumpToTimeoffset = function ( form ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   394
	var time = form.time.value;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   395
	IriSP.MyApiPlayer.changePageUrlOffset( time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   396
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   397
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   398
IriSP.retrieveTimeFragment = function ( url ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   399
  var pageoffset = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   400
  var offsettime = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   401
  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   402
  if ( url.split("#")[1] != null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   403
	pageoffset = url.split( "#" )[1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   404
		if ( pageoffset.substring( 2 ) != null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   405
			offsettime = pageoffset.substring( 2 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   406
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   407
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   408
	return offsettime;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   409
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   410
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   411
IriSP.ignoreTimeFragment = function( url ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   412
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   413
	var pageurl = url;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   414
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   415
	if ( url.split( "#" )[1] != null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   416
		pageurl = url.split( "#" )[0];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   417
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   418
 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   419
	return pageurl;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   420
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   421
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   422
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   423
/* code specific to jwplayer / creation and listener */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   424
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   425
IriSP.currentPosition 	= 0; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   426
IriSP.currentVolume   	= 50; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   427
IriSP.player 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   428
IriSP.startPosition 	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   429
IriSP.firstplay	 		= false;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   430
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   431
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   432
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   433
IriSP.createPlayer = function ( url, streamerPath ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   434
	if( IriSP.config.player.type=='dailymotion' ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   435
		IriSP.config.player.src = IriSP.config.player.src+"&chromeless=1&enableApi=1";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   436
	} else if ( IriSP.config.player.type=='youtube' ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   437
		IriSP.config.player.src = IriSP.config.player.src+"&enablejsapi=1&version=3";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   438
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   439
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   440
	IriSP.trace( "__IriSP.createPlayer", "start" );			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   441
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   442
	IriSP.myUrlFragment = url.split( streamerPath );	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   443
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   444
	var configTemp = IriSP.jQuery.extend( true, {}, IriSP.config );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   445
	configTemp.player.flashvars.autostart =	"true";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   446
	configTemp.player.flashvars.streamer =	streamerPath;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   447
	configTemp.player.flashvars.file =	IriSP.myUrlFragment[1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   448
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   449
	var flashvars 		  = configTemp.player.flashvars;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   450
	var params 			  = configTemp.player.params;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   451
	var attributes 		  = configTemp.player.attributes;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   452
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   453
	IriSP.trace(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   454
				  "__IriSP.createPlayer",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   455
				  "SWFOBJECT src:"+
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   456
				  IriSP.config.player.src+
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   457
				  " " +IriSP.config.gui.width+
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   458
				  " " +IriSP.config.gui.height
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   459
				  );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   460
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   461
	swfobject.embedSWF(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   462
						IriSP.config.player.src,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   463
						"Ldt-PlaceHolder",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   464
						IriSP.config.gui.width,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   465
						IriSP.config.gui.height,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   466
						"9.0.115", // FIXME : de-hardcode version ?
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   467
						false,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   468
						flashvars,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   469
						params,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   470
						attributes
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   471
					);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   472
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   473
	// need a methode to 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   474
	// re execute if this swf call does'nt work 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   475
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   476
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   477
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   478
/* jw player api */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   479
IriSP.playerReady  = function (thePlayer) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   480
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   481
	//__IriSP.trace("__IriSP.playerReady","PLAYER READY !!!!!!!!!!!!");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   482
	IriSP.player = window.document[thePlayer.id];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   483
	//__IriSP.trace("__IriSP.playerReady","API CALL "+__IriSP.player);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   484
	IriSP.MyApiPlayer.ready( IriSP.player );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   485
	//__IriSP.trace("__IriSP.playerReady","API CALL END ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   486
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   487
	var url = document.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   488
	var time = IriSP.retrieveTimeFragment( url );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   489
	//__IriSP.trace("__IriSP.playerReady"," "+url+" "+time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   490
	IriSP.startPosition = time;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   491
	//__IriSP.trace("__IriSP.playerReady"," LISTENER LAUCHER");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   492
	IriSP.addListeners();	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   493
	//__IriSP.trace("__IriSP.playerReady"," LISTENER END");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   494
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   495
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   496
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   497
IriSP.addListeners = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   498
	if ( IriSP.player ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   499
		IriSP.trace("__IriSP.addListeners","ADD  Listener ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   500
		IriSP.player.addModelListener( "TIME", "__IriSP.positionListener");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   501
		IriSP.player.addControllerListener( "VOLUME", "__IriSP.volumeListener" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   502
		IriSP.player.addModelListener( 'STATE', '__IriSP.stateMonitor' );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   503
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   504
		IriSP.setTimeout( "__IriSP.addListeners()", 100 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   505
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   506
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   507
	// et changer les boutons
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   508
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   509
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   510
IriSP.stateMonitor = function ( obj ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   511
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   512
	 if(obj.newstate == 'PAUSED') {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   513
		IriSP.trace( "__IriSP.stateMonitor", "PAUSE" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   514
		IriSP.MyApiPlayer.changePageUrlOffset( IriSP.currentPosition );			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   515
		IriSP.jQuery( ".ui-icon-play" ).css( "background-position","0px -160px" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   516
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   517
	} else if (obj.newstate == 'PLAYING' ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   518
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   519
		IriSP.trace( "__IriSP.stateMonitor", "PLAYING "+IriSP.startPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   520
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   521
		// force buffering even if autostart is disabled. 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   522
		if ( IriSP.config.player.flashvars.autostart == "false" && IriSP.firstplay == false && IriSP.startPosition == 0 ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   523
			IriSP.trace("__IriSP.stateMonitor","first stop ???");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   524
			IriSP.MyApiPlayer.play();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   525
			IriSP.firstplay = true;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   526
			IriSP.MyLdt.checkTime( 1 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   527
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   528
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   529
		// once that the video is loaded, move it to the correct timecode
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   530
		if( IriSP.startPosition!=null ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   531
			IriSP.MyApiPlayer.update( IriSP.startPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   532
			IriSP.startPosition = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   533
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   534
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   535
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   536
		IriSP.jQuery( ".ui-icon-play" ).css( "background-position", "-16px -160px" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   537
	} else if (obj.newstate == 'BUFFERING'){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   538
		IriSP.trace( "__IriSP.stateMonitor", "BUFFERING : "+IriSP.config.player.flashvars.autostart );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   539
		//changePageUrlOffset(currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   540
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   541
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   542
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   543
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   544
IriSP.positionListener = function(obj) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   545
	//__IriSP.trace("__IriSP.positionListener",obj.position);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   546
	IriSP.currentPosition = obj.position; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   547
	var tmp = document.getElementById( "posit" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   548
	if (tmp) { tmp.innerHTML = "position: " + IriSP.currentPosition; }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   549
	IriSP.jQuery( "#slider-range-min" ).slider( "value", obj.position);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   550
	IriSP.jQuery( "#amount" ).val(obj.position+" s");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   551
	// display annotation 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   552
	IriSP.MyLdt.checkTime( IriSP.currentPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   553
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   554
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   555
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   556
IriSP.volumeListener   = function (obj) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   557
	IriSP.currentVolume = obj.percentage; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   558
	var tmp = document.getElementById("vol");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   559
	if (tmp) { tmp.innerHTML = "volume: " + IriSP.currentVolume; }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   560
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   561
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   562
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   563
/* dailymotion api 	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   564
onDailymotionPlayerReady = function (playerid) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   565
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   566
	//alert(playerid);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   567
	IriSP.player = document.getElementById( IriSP.config.player.attributes.id );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   568
	IriSP.MyApiPlayer.ready( IriSP.player );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   569
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   570
	var url = document.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   571
	var time = IriSP.retrieveTimeFragment( url );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   572
	IriSP.startPosition = time;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   573
	IriSP.DailymotionAddListeners();	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   574
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   575
	IriSP.MyApiPlayer.ready(playerid);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   576
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   577
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   578
IriSP.DailymotionAddListeners = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   579
	if ( IriSP.player ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   580
		IriSP.trace( "__IriSP.addListeners","ADD  Listener " );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   581
		//__IriSP.player.addEventListener("onStateChange", "__IriSP.DailymotionPositionListener");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   582
		setTimeout( "__IriSP.DailymotionPositionListener()", 100);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   583
		IriSP.DailymotionPositionListener();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   584
		/* FIXME : works only with jwplayer */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   585
		IriSP.player.addModelListener( "VOLUME", "__IriSP.volumeListener" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   586
		//__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   587
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   588
		IriSP.setTimeout( "__IriSP.DailymotionAddListeners()", 100);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   589
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   590
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   591
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   592
IriSP.DailymotionPositionListener = function() { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   593
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   594
	IriSP.currentPosition = IriSP.player.getCurrentTime();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   595
	//__IriSP.trace("__IriSP.DailymotionPositionListener",__IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   596
	//__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   597
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   598
	IriSP.jQuery( "#slider-range-min" ).slider( "value" , IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   599
	IriSP.jQuery( "#amount" ).val( IriSP.currentPosition+" s" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   600
	// afficher annotation 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   601
	/*__IriSP.MyLdt.checkTime(__IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   602
	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   603
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   604
	setTimeout( "__IriSP.DailymotionPositionListener()", 10 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   605
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   606
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   607
/* youtube api 	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   608
onYouTubePlayerReady= function (playerid){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   609
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   610
	var url = document.location.href;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   611
	var time = IriSP.retrieveTimeFragment( url );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   612
	IriSP.player = document.getElementById( IriSP.config.player.attributes.id );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   613
	IriSP.startPosition = time;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   614
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   615
	IriSP.MyApiPlayer.ready( IriSP.player );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   616
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   617
	IriSP.MyApiPlayer.seek( time );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   618
	IriSP.MyApiPlayer.play();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   619
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   620
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   621
	IriSP.YouTubeAddListeners();	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   622
	IriSP.trace( "onYouTubePlayerReady=", time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   623
	//__IriSP.MyApiPlayer.ready(playerid);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   624
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   625
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   626
IriSP.YouTubeAddListeners = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   627
	if ( IriSP.player ) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   628
		IriSP.trace( "__IriSP.addListeners", "ADD  Listener " );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   629
		IriSP.player.addEventListener( "onStateChange", "__IriSP.YouTubeStateMonitor" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   630
		setTimeout( "__IriSP.YouTubePositionListener()", 100 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   631
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   632
		/* FIXME : works only with jwplayer */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   633
		IriSP.player.addModelListener( "VOLUME", "__IriSP.volumeListener" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   634
		//__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   635
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   636
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   637
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   638
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   639
IriSP.YouTubePositionListener = function() { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   640
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   641
	IriSP.currentPosition = IriSP.player.getCurrentTime();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   642
	//__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   643
	//__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   644
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   645
	IriSP.MyLdt.checkTime(IriSP.currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   646
	IriSP.jQuery( "#slider-range-min" ).slider( "value", IriSP.currentPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   647
	IriSP.jQuery( "#amount" ).val( IriSP.currentPosition+" s" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   648
	// afficher annotation 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   649
	IriSP.MyLdt.checkTime( IriSP.currentPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   650
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   651
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   652
	setTimeout( "__IriSP.YouTubePositionListener()", 10 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   653
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   654
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   655
IriSP.YouTubeStateMonitor = function (obj) { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   656
	IriSP.player.addModelListener( '__IriSP.YouTubeStateMonitor ', newstate );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   657
	//alert(newstate+" "+obj.newstate);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   658
	 if(newstate == '2') {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   659
		IriSP.trace("__IriSP.stateMonitor","PAUSE");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   660
		IriSP.MyApiPlayer.changePageUrlOffset( IriSP.currentPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   661
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   662
	} else if (newstate == '1' || newstate == '1') {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   663
		// une fois la video prete a lire  la déplacer au bon timecode 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   664
		if( IriSP.startPosition!=null ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   665
			IriSP.MyApiPlayer.update( IriSP.startPosition );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   666
			IriSP.startPosition = null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   667
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   668
	} else if (newstate == '3'){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   669
		IriSP.trace("__IriSP.stateMonitor","BUFFERING : ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   670
		//changePageUrlOffset(currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   671
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   672
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   673
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   674
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   675
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   676
/* 	utils */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   677
// code from http://stackoverflow.com/questions/822452/strip-html-from-text-javascript
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   678
/* FIXME: maybe make it a little more robust */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   679
IriSP.stripHtml = function(s){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   680
	return s.replace(/\\&/g, '&amp;').replace(/\\</g, '&lt;').replace(/\\>/g, '&gt;').replace(/\\t/g, '&nbsp;&nbsp;&nbsp;').replace(/\\n/g, '<br />').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   681
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   682
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   683
// conversion de couleur Decimal vers HexaDecimal || 000 si fff
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   684
/* FIXME : move it somewhere else */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   685
IriSP.DEC_HEXA_COLOR = function (dec) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   686
	 var hexa='0123456789ABCDEF',hex='';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   687
	 var tmp;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   688
	 while (dec>15){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   689
		  tmp = dec-(Math.floor(dec/16))*16;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   690
		  hex = hexa.charAt(tmp)+hex;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   691
		  dec = Math.floor(dec/16);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   692
	 }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   693
	 hex = hexa.charAt(dec)+hex;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   694
	 if (hex == "FFCC00"){ hex="";/* by default color of Ldt annotation */ }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   695
	 return(hex);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   696
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   697
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   698
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   699
/* Search  methods	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   700
IriSP.SearchOldValue="";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   701
IriSP.searchblockOpen=false;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   702
IriSP.searchblock = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   703
	IriSP.trace( "__IriSP.searchblock", IriSP.searchblockOpen );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   704
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   705
	if ( IriSP.searchblockOpen == false ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   706
		IriSP.jQuery( ".ui-icon-search" ).css( "background-position", "-144px -112px" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   707
		//__IriSP.jQuery("#LdtSearch").animate({height:26},250);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   708
		IriSP.jQuery("#LdtSearch").show(250);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   709
		/* FIXME : refactor this */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   710
		IriSP.jQuery("#LdtSearchInput").css('background-color','#fff');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   711
		IriSP.jQuery("#LdtSearchInput").focus();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   712
		IriSP.jQuery("#LdtSearchInput").attr('value',IriSP.SearchOldValue);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   713
		IriSP.Search(IriSP.SearchOldValue);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   714
		IriSP.searchblockOpen = true;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   715
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   716
		IriSP.SearchOldValue = IriSP.jQuery("#LdtSearchInput").attr('value');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   717
		IriSP.jQuery("#LdtSearchInput").attr('value','');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   718
		IriSP.SearchClean();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   719
		IriSP.jQuery(".ui-icon-search").css("background-position","-160px -112px");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   720
		//__IriSP.jQuery("#LdtSearch").animate({height:0},250);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   721
		IriSP.jQuery("#LdtSearch").hide(250);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   722
		IriSP.searchblockOpen = false;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   723
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   724
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   725
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   726
/* Search with typeahead */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   727
IriSP.Search = function ( value ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   728
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   729
	annotations = IriSP.LDTligne.annotations;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   730
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   731
	IriSP.trace("__IriSP.Search", annotations.length+" "+value);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   732
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   733
	var found  = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   734
	var findmem = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   735
	var factor  = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   736
	IriSP.trace(value,value.length);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   737
	var valueS = value.toLowerCase();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   738
	IriSP.trace("__IriSP.Search", annotations.length+" "+valueS);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   739
	if(valueS.length>=3){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   740
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   741
		for (var i=0; i < annotations.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   742
			annotation = annotations[i];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   743
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   744
			IriSP.jQuery("#output2").text(annotation.title+" ?= "+value);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   745
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   746
			chaine1 = annotation.title.toLowerCase();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   747
			chaine2 = annotation.description.toLowerCase();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   748
			chaine3 = annotation.htmlTags.toLowerCase();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   749
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   750
			if(chaine1.indexOf(valueS,0) !=-1){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   751
				found+=1;	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   752
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   753
			if(chaine2.indexOf(valueS,0) !=-1){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   754
				found+=1;	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   755
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   756
			if(chaine3.indexOf(valueS,0) !=-1){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   757
				found+=1;	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   758
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   759
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   760
			findmem += found;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   761
			if(found>0){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   762
				factor = found*8;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   763
				IriSP.jQuery("#"+annotation.id).dequeue();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   764
				IriSP.jQuery("#"+annotation.id).animate({height:factor},200);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   765
				IriSP.jQuery("#"+annotation.id).css('border','2px');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   766
				IriSP.jQuery("#"+annotation.id).css('border-color','red');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   767
				IriSP.jQuery("#"+annotation.id).animate({opacity:0.6},200);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   768
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   769
				IriSP.trace("!!!!!!!!!!!!!!!!!!"," ?= "+annotation.id);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   770
				IriSP.jQuery("#LdtSearchInput").css('background-color','#e1ffe1');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   771
			}else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   772
				IriSP.jQuery("#"+annotation.id).dequeue();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   773
				IriSP.jQuery("#"+annotation.id).animate({height:0},250);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   774
				IriSP.jQuery("#"+annotation.id).animate({opacity:0.3},200);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   775
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   776
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   777
			found = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   778
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   779
		if(findmem==0){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   780
				IriSP.jQuery("#LdtSearchInput").css('background-color','#f6f6f6');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   781
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   782
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   783
	} else if(value.length==0){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   784
		IriSP.SearchClean();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   785
		IriSP.jQuery("#LdtSearchInput").css('background-color','#fff');		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   786
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   787
		IriSP.SearchClean();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   788
		IriSP.jQuery("#LdtSearchInput").css('background-color','#f6f6f6');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   789
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   790
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   791
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   792
IriSP.SearchClean = function (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   793
	annotations = IriSP.LDTligne.annotations;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   794
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   795
	for (var i=0; i < annotations.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   796
			annotation = annotations[i];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   797
			IriSP.jQuery("#"+annotation.id).dequeue();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   798
			IriSP.jQuery("#"+annotation.id).animate({height:0},100);	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   799
			IriSP.jQuery("#"+annotation.id).css('border','0px');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   800
			IriSP.jQuery("#"+annotation.id).css('border-color','red');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   801
			IriSP.jQuery("#"+annotation.id).animate({opacity:0.3},100);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   802
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   803
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   804
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   805
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   806
IriSP.SearchThisSegment = function (annotation){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   807
	/* FIXME: to implement */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   808
					IriSP.jQuery("#LdtSearchInput").text(annotation.title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   809
					IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotation.title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   810
					/*__IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   811
					__IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags);*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   812
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   813
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   814
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   815
/* CLASS Ligne (annotationType) 	*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   816
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   817
IriSP.LDTligne 	= null;		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   818
__IriSP.Ligne = function( id, title, description, duration ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   819
	this.id 		 = id;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   820
	this.title 		 = title;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   821
	this.description = description;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   822
	//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   823
	this.annotations = new Array();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   824
	this.duration = duration;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   825
	this.annotationOldRead = "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   826
	IriSP.LDTligne = this;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   827
	IriSP.trace("__IriSP.Ligne","CREATE "+IriSP.LDTligne);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   828
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   829
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   830
__IriSP.Ligne.prototype.addAnnotation = function ( id, begin, end, media, title, description, color, tags ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   831
	var myAnnotation = new __IriSP.Annotation(id,begin,end,media,title,description,color,tags,this.duration);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   832
	this.annotations.push(myAnnotation);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   833
	//__IriSP.trace("__IriSP.Ligne.prototype.addAnnotation  ","add annotation "+title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   834
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   835
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   836
__IriSP.Ligne.prototype.onClickLigneAnnotation = function( id ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   837
	/* TODO implement */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   838
	//changePageUrlOffset(currentPosition);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   839
	//player.sendEvent('SEEK', this.start);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   840
	//__IriSP.trace("SEEK",this.start);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   841
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   842
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   843
__IriSP.Ligne.prototype.searchLigneAnnotation = function( id ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   844
	/* TODO implement */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   845
	/*for (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   846
	}*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   847
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   848
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   849
__IriSP.Ligne.prototype.listAnnotations = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   850
	/* TODO implement */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   851
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   852
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   853
__IriSP.Ligne.prototype.nextAnnotation = function () {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   854
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   855
	var annotationCibleNumber = this.numAnnotation(this.annotationOldRead)+1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   856
	var annotationCible = this.annotations[annotationCibleNumber];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   857
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   858
	if( annotationCibleNumber<this.annotations.length-1 ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   859
		IriSP.player.sendEvent( 'SEEK', annotationCible.begin/1000 );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   860
		IriSP.trace( "LIGNE  ", "| next = "+annotationCibleNumber+" - "+this.annotations.length+" | seek :"+annotationCible.begin/1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   861
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   862
		IriSP.player.sendEvent( 'SEEK', this.annotations[0].begin/1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   863
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   864
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   865
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   866
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   867
__IriSP.Ligne.prototype.numAnnotation = function (annotationCible){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   868
	for (var i=0; i < this.annotations.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   869
		if(annotationCible == this.annotations[i]){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   870
			return i;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   871
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   872
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   873
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   874
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   875
__IriSP.Ligne.prototype.checkTime = function(time){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   876
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   877
	var annotationTempo = -1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   878
	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",time);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   879
	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",this.annotations.length);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   880
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   881
	for (var i=0; i < this.annotations.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   882
		annotationTempo = this.annotations[i];	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   883
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   884
		//__IriSP.SearchThisSegment(annotationTempo);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   885
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   886
		if (time>annotationTempo.begin/1000 && time<annotationTempo.end/1000){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   887
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   888
				// different form the previous
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   889
				if(annotationTempo!=this.annotationOldRead){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   890
					this.annotationOldRead = annotationTempo;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   891
					IriSP.jQuery("#Ldt-SaTitle").text(annotationTempo.title);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   892
					IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   893
					IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   894
					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   895
					//__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   896
					var startPourcent 	= annotationTempo.timeToPourcent((annotationTempo.begin*1+(annotationTempo.end*1-annotationTempo.begin*1)/2),annotationTempo.duration*1); 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   897
					IriSP.jQuery("#Ldt-Show-Arrow").animate({left:startPourcent+'%'},1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   898
					IriSP.jQuery("#"+annotationTempo.id).animate({alpha:'100%'},1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   899
					//alert(startPourcent);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   900
					var tempolinkurl  =  IriSP.ignoreTimeFragment(window.location.href)+"#t="+(this.annotations[i].begin/1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   901
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   902
			break;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   903
		} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   904
		annotationTempo = -1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   905
		}		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   906
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   907
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   908
	// si il y en a pas : retractation du volet 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   909
	if( annotationTempo == -1){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   910
		if(annotationTempo != this.annotationOldRead){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   911
			IriSP.trace("Check : ","pas d'annotation ici ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   912
			IriSP.jQuery("#Ldt-SaTitle").text("");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   913
			IriSP.jQuery("#Ldt-SaDescription").text("");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   914
			IriSP.jQuery("#Ldt-SaKeywordText").html("");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   915
			IriSP.jQuery('#Ldt-ShowAnnotation').slideUp();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   916
			if(this.annotationOldRead){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   917
				IriSP.jQuery("#"+this.annotationOldRead.id).animate({alpha:'70%'},1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   918
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   919
			//__IriSP.jQuery("#Ldt-Show-Arrow").animate({left:'0%'},1000);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   920
			this.annotationOldRead = annotationTempo;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   921
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   922
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   923
	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotationTempo);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   924
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   925
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   926
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   927
/* CLASS Annotation */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   928
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   929
__IriSP.Annotation = function (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   930
	var id 	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   931
	var begin 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   932
	var end 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   933
	var media 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   934
	var description	= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   935
	var title 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   936
	var color 			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   937
	var tags			= null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   938
	IriSP.trace("annotation ","réussi");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   939
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   940
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   941
__IriSP.Annotation = function( id, begin, end, media, title, description, color, tags, duration ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   942
	this.id 			= id;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   943
	this.begin 			= begin;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   944
	this.end 			= end;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   945
	this.media 			= media;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   946
	this.description 	= description;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   947
	this.title 			= title;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   948
	this.color 			= color;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   949
	this.tags			= tags;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   950
	this.htmlTags		= "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   951
	this.duration		= duration;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   952
	// draw it 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   953
	this.draw();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   954
	this.drawTags();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   955
	//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   956
	IriSP.trace("Annotation created : ",id);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   957
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   958
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   959
__IriSP.Annotation.prototype.draw = function(){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   960
	//alert (this.duration);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   961
	var startPourcent 	= this.timeToPourcent(this.begin,this.duration); // temps du media 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   962
	var endPourcent 	= this.timeToPourcent(this.end,this.duration)-startPourcent;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   963
	var divTitle		= this.title.substr(0,55);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   964
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   965
	//IriSP.jQueryAnnotationTemplate = "<div title='"+IriSP.stripHtml(titleForDiv)+"' 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   966
	//id='"+this.id+"'  class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   967
	//width='100%' style=\"left:"+startPourcent+"%; width:"+endPourcent+"%; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   968
	//padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   969
	//background:#"+IriSP.DEC_HEXA_COLOR(this.color)+";\" 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   970
	//onClick=\"__IriSP.MyApiPlayer.seek('"+Math.round(this.begin/1000)+"');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   971
	//__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();\"    ></div> ";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   972
	//alert(this.color+" : "+DEC_HEXA_COLOR(this.color));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   973
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   974
	IriSP.jQueryAnnotationTemplate = Mustache.to_html(IriSP.annotation_template,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   975
			{"divTitle" : divTitle, "id" : this.id, "startPourcent" : startPourcent,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   976
			"endPourcent" : endPourcent, "hexa_color" : IriSP.DEC_HEXA_COLOR(this.color),
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   977
			"seekPlace" : Math.round(this.begin/1000)});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   978
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   979
	IriSP.jQuerytoolTipTemplate = Mustache.to_html(IriSP.tooltip_template, 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   980
				{"title" : this.title, "begin" : this.begin, "end" : this.end,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   981
				"description": this.description});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   982
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   983
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   984
	IriSP.jQuery("<div>"+IriSP.jQueryAnnotationTemplate+"</div>").appendTo("#Ldt-Annotations");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   985
	// TOOLTIP BUG ! 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   986
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   987
	IriSP.jQuery("#"+this.id).tooltip({ effect: 'slide'});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   988
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   989
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   990
	IriSP.jQuery("#"+this.id).fadeTo(0,0.3);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   991
	IriSP.jQuery("#"+this.id).mouseover(function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   992
		IriSP.jQuery("#"+this.id).animate({opacity: 0.6}, 5);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   993
	}).mouseout(function(){		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   994
		IriSP.jQuery("#"+this.id).animate({opacity: 0.3}, 5);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   995
	});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   996
	IriSP.trace("__IriSP.Annotation.prototype.draw","ADD ANOTATION : "+this.begin+" "+this.end+" "+IriSP.stripHtml(this.title)+" | "+startPourcent+" | "+endPourcent+" | duration = "+this.duration);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   997
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   998
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
   999
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1000
__IriSP.Annotation.prototype.drawTags = function(){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1001
	/* FIXME : to implement */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1002
	var KeywordPattern = '<a href=\"\"> '+' </a>';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1003
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1004
	//__IriSP.trace(" !? Tags : ",this.tags);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1005
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1006
	if (this.tags!=undefined){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1007
		for (var i = 0; i < this.tags.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1008
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1009
			//this.htmlTags += '<span onclick=\"ShowTag('+this.tags[i]['id-ref']+');\"  > '+MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1010
			this.htmlTags += '<span> '+IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1011
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1012
		}		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1013
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1014
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1015
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1016
__IriSP.Annotation.prototype.tootTipAnnotation = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1017
	// 1 chercher le div correspondant
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1018
	// 2 y mettre les information
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1019
	return this.color + ' ' + this.type + ' apple';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1020
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1021
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1022
__IriSP.Annotation.prototype.onRollOverAnnotation = function (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1023
	this.tootTip();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1024
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1025
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1026
__IriSP.Annotation.prototype.timeToPourcent = function(time,timetotal){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1027
	return (parseInt(Math.round(time/timetotal*100)));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1028
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1029
 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1030
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1031
/* CLASS Tags */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1032
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1033
__IriSP.Tags = function(object){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1034
	this.myTags 	=	object;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1035
	this.htmlTags 	= 	null;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1036
	this.weigthMax 	= 	0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1037
	//this.mySegments  = 	new array();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1038
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1039
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1040
__IriSP.Tags.prototype.addAnnotation = function (annotation){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1041
	for (var i = 0; i < this.myTags.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1042
		this.myTags[i].mySegments = new Array(); 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1043
		if (annotation.tags!=null){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1044
			for (var j = 0; j < annotation.tags.length; ++j){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1045
				if (this.myTags[i]['id'] == annotation.tags[j]['id-ref']){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1046
					this.myTags[i].mySegments.push([annotation.begin,annotation.end,annotation.id]);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1047
					var weigthTempo = this.myTags[i].mySegments.length;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1048
					var tempo = this.myTags[i].mySegments[weigthTempo-1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1049
					//__IriSP.trace ("__IriSP.Tags.prototype.addAnnotation ","  "+this.myTags[i]['meta']['dc:title']+" "+this.myTags[i]['id']+" : "+tempo[0]+" - "+tempo[1]);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1050
					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1051
					if (this.weigthMax < weigthTempo ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1052
						this.weigthMax = weigthTempo;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1053
					}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1054
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1055
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1056
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1057
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1058
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1059
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1060
__IriSP.Tags.prototype.getTitle = function (id){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1061
	for (var i = 0; i < this.myTags.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1062
		if(this.myTags[i]['id']==id){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1063
			return(this.myTags[i]['meta']['dc:title']);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1064
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1065
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1066
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1067
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1068
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1069
__IriSP.Tags.prototype.draw = function (){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1070
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1071
	IriSP.trace("__IriSP.Tags.prototype.draw"," !!! WELL START " );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1072
	for (var i = 0; i < this.myTags.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1073
		IriSP.trace("__IriSP.Tags.prototype.draw"," ADD Tags : "+this.myTags[i]['id']);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1074
		if(this.myTags[i]['id']!=null){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1075
		this.htmlTags += '<span onclick=\"MyTags.show( \''+this.myTags[i]['id']
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1076
						+'\');\" style=\"font-size:'  +((this.myTags[i].mySegments.length/this.weigthMax*10)+8)
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1077
						+'px;\" alt=\"'+this.myTags[i].mySegments.length
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1078
						+'\"> '+this.myTags[i]['meta']['dc:title']+' </span>'+' , ';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1079
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1080
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1081
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1082
	IriSP.jQuery('#Ldt-Tags').html(this.htmlTags);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1083
	IriSP.trace("__IriSP.Tags.prototype.draw"," !!!!  END WMAX= "+this.weigthMax );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1084
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1085
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1086
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1087
__IriSP.Tags.prototype.show = function (id){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1088
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1089
	var timeStartOffsetA	=	100000000000000000000;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1090
	var timeStartOffsetB	=	100000000000000000000;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1091
	var timeEndOffsetA		=	0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1092
	var timeEndOffsetB		=	0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1093
	var timeStartID;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1094
	var timeEndID;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1095
	var WidthPourCent;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1096
	var leftPourCent;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1097
	var timeStartOffset;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1098
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1099
	// case 1 : seul segment 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1100
	// case 2 : 2 ou X segments 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1101
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1102
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1103
	for (var i = 0; i < this.myTags.length; ++i){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1104
		if (this.myTags[i]['id']==id){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1105
			IriSP.trace("######### TAG DRAWing : "," END" );		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1106
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1107
			for (var j = 0; j < this.myTags[i].mySegments.length; ++j){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1108
				if(timeStartOffset> this.myTags[i].mySegments[j][0]){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1109
					timeStartOffsetA = this.myTags[i].mySegments[j][0];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1110
					timeStartOffsetB = this.myTags[i].mySegments[j][1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1111
					timeStartID		 = this.myTags[i].mySegments[j][2]
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1112
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1113
				if(timeStartOffset> this.myTags[i].mySegments[j][0]){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1114
					timeEndOffsetA  = this.myTags[i].mySegments[j][0];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1115
					timeEndOffsetB  = this.myTags[i].mySegments[j][1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1116
					timeEndID		= this.myTags[i].mySegments[j][2]
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1117
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1118
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1119
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1120
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1121
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1122
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1123
	// -------------------------------------------------
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1124
	// 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1125
	// -------------------------------------------------
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1126
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1127
	leftPourCent 	= IriSP.timeToPourcent((timeStartOffsetA*1+(timeStartOffsetB-timeStartOffsetA)/2),IriSP.MyLdt.duration); 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1128
	WidthPourCent	= IriSP.timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),IriSP.MyLdt.duration)-leftPourCent; 			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1129
	//WidthPourCent	= timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),MyLdt.duration)-startPourcent; 			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1130
	IriSP.jQuery("#Ldt-Show-Tags").css('left',leftPourCent+'%');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1131
	IriSP.jQuery("#Ldt-Show-Tags").css('width',WidthPourCent+'%');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1132
	IriSP.jQuery("#Ldt-Show-Tags").text('joijoij');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1133
	// like arrow script
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1134
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1135
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1136
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1137
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1138
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1139
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1140
IriSP.annotation_template = "<div title='{{divTitle}}' id='{{id}}'	class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' 	width='100%' 	style='left: {{startPourcent}}%; width: {{endPourcent}}%; padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; background:#{{hexa_color}};' 	onClick='IriSP.MyApiPlayer.seek({{seekPlace}});IriSP.jQuery(\"#Ldt-ShowAnnotation\").slideDown();'></div>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1141
IriSP.annotation_loading_template = "<div id='Ldt-load-container'><div id='Ldt-loader'>&nbsp;</div> Chargement... </div>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1142
IriSP.radio_template = "<div id='Ldt-Root'>	<div id='Ldt-PlaceHolder'>		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see		this player	</div>	<div id='Ldt-controler' class='demo'>		<div class='Ldt-Control1'>			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture				/ Pause</button>			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>		</div>		<div id='Ldt-Annotations' class='ui-slider'>			<div id='slider-range-min'></div>		</div>		<div class='Ldt-Control2'>			<button id='ldt-CtrlLink' onclick='__IriSP.searchblock()'>				Rechercher</button>			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>		</div>		<div class='cleaner'>&nbsp;</div>		<div id='Ldt-Show-Arrow-container'>			<div id='Ldt-Show-Arrow'></div>		</div>	</div>	<div>		<div id='ldt-Show'></div>		<div id='Ldt-ShowAnnotation-audio' class='demo'>			<div id='Ldt-SaTitle'></div>			<div id='Ldt-SaDescription'></div>			<div class='cleaner'>				<!--&nbsp\;-->			</div>		</div>		<div id='Ldt-SaKeyword'>			<div id='Ldt-SaKeywordText'></div>			<div class='cleaner'></div>			<div id='Ldt-SaShareTools'>{{{share_template}}}</div>			<div class='cleaner'></div>		</div>		<div id='Ldt-Tags'>Mots clefs :</div>	</div>	<div id='Ldt-output' style='clear: left; float: none; position: relative; height: 200px; width: {{width}}px; overflow: scroll;'>	</div>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1143
IriSP.search_template = "<div id='LdtSearchContainer'	style='margin-left: 445px; position: absolute;'>	<div id='LdtSearch'		style='display: none; background-color: #EEE; width: 165px; boder: 1px; border-color: #CFCFCF; position: absolute; text-align: center;'>		<input id='LdtSearchInput'			style='margin-top: 2px; margin-bottom: 2px;' />	</div></div><div class='cleaner'></div>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1144
IriSP.share_template = "<a onclick='__IriSP.MyApiPlayer.share(\'delicious\');' title='partager avec delicious'><span class='share shareDelicious'>&nbsp;</span></a>		<a onclick='__IriSP.MyApiPlayer.share(\'facebook\');' title='partager avec facebook'> <span class='share shareFacebook'>&nbsp;</span></a><a onclick='__IriSP.MyApiPlayer.share(\'twitter\');' title='partager avec twitter'>  <span class='share shareTwitter'>&nbsp;</span></a><a onclick='__IriSP.MyApiPlayer.share(\'myspace\');' title='partager avec Myspace'>  <span class='share shareMySpace'>&nbsp;</span></a>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1145
IriSP.tooltip_template = " <div class='Ldt-tooltip'><div class='title'>{{title}}</div><div class='time'>{{begin}} : {{end}} </div><div class='description'>{{description}}</div></div>";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1146
IriSP.video_template = "<div id='LdtSearchContainer'	style='margin-top: {{heightS}} px; margin-left: 445px; position: absolute;'>	<div id='LdtSearch'		style='background-color: #EEE; display: none; width: 165px; boder: 1px; border-color: #CFCFCF; position: absolute; text-align: center; z-index: 999;'>		<input id='LdtSearchInput'			style='margin-top: 2px; margin-bottom: 2px;' />	</div></div><div id='Ldt-Root'>	<div id='Ldt-PlaceHolder'>		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see		this player	</div>	<div id='Ldt-controler' class='demo'>		<div class='Ldt-Control1'>			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture				/ Pause</button>			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>		</div>		<div id='Ldt-Annotations' class='ui-slider'>			<div id='slider-range-min'></div>		</div>		<div class='Ldt-Control2'>			<button id='ldt-CtrlLink' onclick='__IriSP.searchblock()'>				Rechercher</button>			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>		</div>		<div class='cleaner'>&nbsp\;</div>		<div id='Ldt-Show-Arrow-container'>			<div id='Ldt-Show-Arrow'></div>		</div>	</div>	<div>		<div id='ldt-Show'></div>		<div id='Ldt-ShowAnnotation-audio' class='demo'>			<div id='Ldt-SaTitle'></div>			<div id='Ldt-SaDescription'></div>			<div class='cleaner'>				<!--&nbsp\;-->			</div>		</div>		<div id='Ldt-SaKeyword'>			<div id='Ldt-SaKeywordText'></div>			<div class='cleaner'></div>			<div id='Ldt-SaShareTools'>{{{share_template}}}</div>			<div class='cleaner'></div>		</div>		<div id='Ldt-Tags'>Mots clefs :</div>	</div>	<div id='Ldt-output'></div>";/*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1147
  mustache.js — Logic-less templates in JavaScript
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1148
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1149
  See http://mustache.github.com/ for more info.
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1150
*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1151
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1152
var Mustache = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1153
  var Renderer = function() {};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1154
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1155
  Renderer.prototype = {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1156
    otag: "{{",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1157
    ctag: "}}",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1158
    pragmas: {},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1159
    buffer: [],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1160
    pragmas_implemented: {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1161
      "IMPLICIT-ITERATOR": true
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1162
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1163
    context: {},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1164
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1165
    render: function(template, context, partials, in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1166
      // reset buffer & set context
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1167
      if(!in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1168
        this.context = context;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1169
        this.buffer = []; // TODO: make this non-lazy
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1170
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1171
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1172
      // fail fast
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1173
      if(!this.includes("", template)) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1174
        if(in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1175
          return template;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1176
        } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1177
          this.send(template);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1178
          return;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1179
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1180
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1181
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1182
      template = this.render_pragmas(template);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1183
      var html = this.render_section(template, context, partials);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1184
      if(in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1185
        return this.render_tags(html, context, partials, in_recursion);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1186
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1187
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1188
      this.render_tags(html, context, partials, in_recursion);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1189
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1190
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1191
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1192
      Sends parsed lines
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1193
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1194
    send: function(line) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1195
      if(line !== "") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1196
        this.buffer.push(line);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1197
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1198
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1199
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1200
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1201
      Looks for %PRAGMAS
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1202
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1203
    render_pragmas: function(template) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1204
      // no pragmas
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1205
      if(!this.includes("%", template)) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1206
        return template;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1207
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1208
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1209
      var that = this;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1210
      var regex = new RegExp(this.otag + "%([\\w-]+) ?([\\w]+=[\\w]+)?" +
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1211
            this.ctag, "g");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1212
      return template.replace(regex, function(match, pragma, options) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1213
        if(!that.pragmas_implemented[pragma]) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1214
          throw({message: 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1215
            "This implementation of mustache doesn't understand the '" +
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1216
            pragma + "' pragma"});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1217
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1218
        that.pragmas[pragma] = {};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1219
        if(options) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1220
          var opts = options.split("=");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1221
          that.pragmas[pragma][opts[0]] = opts[1];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1222
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1223
        return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1224
        // ignore unknown pragmas silently
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1225
      });
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1226
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1227
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1228
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1229
      Tries to find a partial in the curent scope and render it
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1230
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1231
    render_partial: function(name, context, partials) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1232
      name = this.trim(name);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1233
      if(!partials || partials[name] === undefined) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1234
        throw({message: "unknown_partial '" + name + "'"});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1235
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1236
      if(typeof(context[name]) != "object") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1237
        return this.render(partials[name], context, partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1238
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1239
      return this.render(partials[name], context[name], partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1240
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1241
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1242
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1243
      Renders inverted (^) and normal (#) sections
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1244
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1245
    render_section: function(template, context, partials) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1246
      if(!this.includes("#", template) && !this.includes("^", template)) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1247
        return template;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1248
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1249
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1250
      var that = this;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1251
      // CSW - Added "+?" so it finds the tighest bound, not the widest
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1252
      var regex = new RegExp(this.otag + "(\\^|\\#)\\s*(.+)\\s*" + this.ctag +
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1253
              "\n*([\\s\\S]+?)" + this.otag + "\\/\\s*\\2\\s*" + this.ctag +
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1254
              "\\s*", "mg");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1255
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1256
      // for each {{#foo}}{{/foo}} section do...
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1257
      return template.replace(regex, function(match, type, name, content) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1258
        var value = that.find(name, context);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1259
        if(type == "^") { // inverted section
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1260
          if(!value || that.is_array(value) && value.length === 0) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1261
            // false or empty list, render it
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1262
            return that.render(content, context, partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1263
          } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1264
            return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1265
          }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1266
        } else if(type == "#") { // normal section
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1267
          if(that.is_array(value)) { // Enumerable, Let's loop!
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1268
            return that.map(value, function(row) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1269
              return that.render(content, that.create_context(row),
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1270
                partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1271
            }).join("");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1272
          } else if(that.is_object(value)) { // Object, Use it as subcontext!
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1273
            return that.render(content, that.create_context(value),
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1274
              partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1275
          } else if(typeof value === "function") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1276
            // higher order section
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1277
            return value.call(context, content, function(text) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1278
              return that.render(text, context, partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1279
            });
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1280
          } else if(value) { // boolean section
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1281
            return that.render(content, context, partials, true);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1282
          } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1283
            return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1284
          }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1285
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1286
      });
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1287
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1288
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1289
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1290
      Replace {{foo}} and friends with values from our view
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1291
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1292
    render_tags: function(template, context, partials, in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1293
      // tit for tat
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1294
      var that = this;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1295
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1296
      var new_regex = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1297
        return new RegExp(that.otag + "(=|!|>|\\{|%)?([^\\/#\\^]+?)\\1?" +
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1298
          that.ctag + "+", "g");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1299
      };
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1300
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1301
      var regex = new_regex();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1302
      var tag_replace_callback = function(match, operator, name) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1303
        switch(operator) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1304
        case "!": // ignore comments
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1305
          return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1306
        case "=": // set new delimiters, rebuild the replace regexp
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1307
          that.set_delimiters(name);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1308
          regex = new_regex();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1309
          return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1310
        case ">": // render partial
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1311
          return that.render_partial(name, context, partials);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1312
        case "{": // the triple mustache is unescaped
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1313
          return that.find(name, context);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1314
        default: // escape the value
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1315
          return that.escape(that.find(name, context));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1316
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1317
      };
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1318
      var lines = template.split("\n");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1319
      for(var i = 0; i < lines.length; i++) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1320
        lines[i] = lines[i].replace(regex, tag_replace_callback, this);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1321
        if(!in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1322
          this.send(lines[i]);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1323
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1324
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1325
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1326
      if(in_recursion) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1327
        return lines.join("\n");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1328
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1329
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1330
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1331
    set_delimiters: function(delimiters) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1332
      var dels = delimiters.split(" ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1333
      this.otag = this.escape_regex(dels[0]);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1334
      this.ctag = this.escape_regex(dels[1]);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1335
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1336
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1337
    escape_regex: function(text) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1338
      // thank you Simon Willison
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1339
      if(!arguments.callee.sRE) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1340
        var specials = [
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1341
          '/', '.', '*', '+', '?', '|',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1342
          '(', ')', '[', ']', '{', '}', '\\'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1343
        ];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1344
        arguments.callee.sRE = new RegExp(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1345
          '(\\' + specials.join('|\\') + ')', 'g'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1346
        );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1347
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1348
      return text.replace(arguments.callee.sRE, '\\$1');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1349
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1350
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1351
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1352
      find `name` in current `context`. That is find me a value
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1353
      from the view object
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1354
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1355
    find: function(name, context) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1356
      name = this.trim(name);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1357
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1358
      // Checks whether a value is thruthy or false or 0
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1359
      function is_kinda_truthy(bool) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1360
        return bool === false || bool === 0 || bool;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1361
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1362
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1363
      var value;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1364
      if(is_kinda_truthy(context[name])) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1365
        value = context[name];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1366
      } else if(is_kinda_truthy(this.context[name])) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1367
        value = this.context[name];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1368
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1369
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1370
      if(typeof value === "function") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1371
        return value.apply(context);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1372
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1373
      if(value !== undefined) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1374
        return value;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1375
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1376
      // silently ignore unkown variables
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1377
      return "";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1378
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1379
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1380
    // Utility methods
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1381
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1382
    /* includes tag */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1383
    includes: function(needle, haystack) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1384
      return haystack.indexOf(this.otag + needle) != -1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1385
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1386
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1387
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1388
      Does away with nasty characters
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1389
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1390
    escape: function(s) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1391
      s = String(s === null ? "" : s);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1392
      return s.replace(/&(?!\w+;)|["'<>\\]/g, function(s) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1393
        switch(s) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1394
        case "&": return "&amp;";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1395
        case "\\": return "\\\\";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1396
        case '"': return '&quot;';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1397
        case "'": return '&#39;';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1398
        case "<": return "&lt;";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1399
        case ">": return "&gt;";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1400
        default: return s;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1401
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1402
      });
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1403
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1404
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1405
    // by @langalex, support for arrays of strings
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1406
    create_context: function(_context) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1407
      if(this.is_object(_context)) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1408
        return _context;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1409
      } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1410
        var iterator = ".";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1411
        if(this.pragmas["IMPLICIT-ITERATOR"]) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1412
          iterator = this.pragmas["IMPLICIT-ITERATOR"].iterator;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1413
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1414
        var ctx = {};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1415
        ctx[iterator] = _context;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1416
        return ctx;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1417
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1418
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1419
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1420
    is_object: function(a) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1421
      return a && typeof a == "object";
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1422
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1423
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1424
    is_array: function(a) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1425
      return Object.prototype.toString.call(a) === '[object Array]';
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1426
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1427
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1428
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1429
      Gets rid of leading and trailing whitespace
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1430
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1431
    trim: function(s) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1432
      return s.replace(/^\s*|\s*$/g, "");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1433
    },
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1434
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1435
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1436
      Why, why, why? Because IE. Cry, cry cry.
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1437
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1438
    map: function(array, fn) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1439
      if (typeof array.map == "function") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1440
        return array.map(fn);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1441
      } else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1442
        var r = [];
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1443
        var l = array.length;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1444
        for(var i = 0; i < l; i++) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1445
          r.push(fn(array[i]));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1446
        }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1447
        return r;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1448
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1449
    }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1450
  };
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1451
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1452
  return({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1453
    name: "mustache.js",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1454
    version: "0.3.1-dev",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1455
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1456
    /*
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1457
      Turns a template and view into HTML
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1458
    */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1459
    to_html: function(template, view, partials, send_fun) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1460
      var renderer = new Renderer();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1461
      if(send_fun) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1462
        renderer.send = send_fun;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1463
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1464
      renderer.render(template, view, partials);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1465
      if(!send_fun) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1466
        return renderer.buffer.join("\n");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1467
      }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1468
    }
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1469
  });
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1470
}();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1471
/* utils.js - various utils that don't belong anywhere else */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1472
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1473
/* trace function, for debugging */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1474
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1475
IriSP.traceNum = 0;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1476
IriSP.trace = function( msg, value ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1477
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1478
	if( IriSP.config.gui.debug === true ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1479
		IriSP.traceNum += 1;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1480
		IriSP.jQuery( "<div>"+IriSP.traceNum+" - "+msg+" : "+value+"</div>" ).appendTo( "#Ldt-output" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1481
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1482
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1483
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1484
/* data.js - this file deals with how the players gets and sends data */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1485
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1486
IriSP.getMetadata = function() {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1487
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1488
	IriSP.jQuery.ajax({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1489
		  dataType: IriSP.config.metadata.load,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1490
		  url:IriSP.config.metadata.src,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1491
		  success : function( json ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1492
		  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1493
				IriSP.trace( "ajax", "success" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1494
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1495
				// START PARSING ----------------------- 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1496
				if( json === "" ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1497
					alert( "Json load error" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1498
				} else {							  							  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1499
					// # CREATE MEDIA  							//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1500
					// # JUSTE ONE PLAYER FOR THE MOMENT		//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1501
					//__IriSP.jQuery("<div></div>").appendTo("#output");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1502
					var MyMedia = new  __IriSP.Media(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1503
														json.medias[0].id,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1504
														json.medias[0].href,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1505
														json.medias[0]['meta']['dc:duration'],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1506
														json.medias[0]['dc:title'],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1507
														json.medias[0]['dc:description']);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1508
					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1509
					IriSP.trace( "__IriSP.MyApiPlayer",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1510
														IriSP.config.gui.width+"   "
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1511
														+ IriSP.config.gui.height + " "
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1512
														+ json.medias[0].href + " "
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1513
														+ json.medias[0]['meta']['dc:duration'] + " "
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1514
														+ json.medias[0]['meta']['item']['value']);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1515
					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1516
					// Create APIplayer
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1517
					IriSP.MyApiPlayer = new __IriSP.APIplayer (
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1518
														IriSP.config.gui.width,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1519
														IriSP.config.gui.height,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1520
														json.medias[0].href,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1521
														json.medias[0]['meta']['dc:duration'],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1522
														json.medias[0]['meta']['item']['value']);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1523
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1524
					// # CREATE THE FIRST LINE  				//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1525
					IriSP.trace( "__IriSP.init.main","__IriSP.Ligne" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1526
					IriSP.MyLdt = new __IriSP.Ligne(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1527
														json['annotation-types'][0].id,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1528
														json['annotation-types'][0]['dc:title'],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1529
														json['annotation-types'][0]['dc:description'],
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1530
														json.medias[0]['meta']['dc:duration']);			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1531
					
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1532
					// CREATE THE TAG CLOUD 					//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1533
					IriSP.trace( "__IriSP.init.main","__IriSP.Tags" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1534
					IriSP.MyTags =  new __IriSP.Tags( json.tags );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1535
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1536
					// CREATE THE ANNOTATIONS  				    //
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1537
					// JUSTE FOR THE FIRST TYPE   			 	//
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1538
					/* FIXME: make it support more than one ligne de temps */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1539
					IriSP.jQuery.each( json.annotations, function(i,item) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1540
						if (item.meta['id-ref'] == IriSP.MyLdt.id) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1541
							//__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1542
							IriSP.MyLdt.addAnnotation(
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1543
										item.id,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1544
										item.begin,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1545
										item.end,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1546
										item.media,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1547
										item.content.title,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1548
										item.content.description,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1549
										item.content.color,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1550
										item.tags);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1551
						}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1552
							//MyTags.addAnnotation(item);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1553
					} );	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1554
					IriSP.jQuery.each( json.lists, function(i,item) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1555
						IriSP.trace("lists","");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1556
					} );	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1557
					IriSP.jQuery.each( json.views, function(i,item) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1558
						IriSP.trace("views","");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1559
					} );	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1560
				}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1561
				// END PARSING ----------------------- //  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1562
			
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1563
							
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1564
		}, error : function(data){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1565
			  alert("ERROR : "+data);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1566
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1567
	  });	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1568
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1569
}/* site.js - all our site-dependent config : player chrome, cdn locations, etc...*/
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1570
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1571
IriSP.lib = { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1572
		jQuery:"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1573
		jQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1574
		jQueryToolTip:"http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1575
		swfObject:"http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1576
		cssjQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1577
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1578
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1579
//Player Configuration 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1580
IriSP.config = undefined;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1581
IriSP.configDefault = {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1582
		metadata:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1583
			format:'cinelab',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1584
			src:'',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1585
			load:'jsonp'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1586
		},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1587
		gui:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1588
			width:650,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1589
			height:0,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1590
			mode:'radio',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1591
			container:'LdtPlayer',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1592
			debug:false, 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1593
			css:'../src/css/LdtPlayer.css'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1594
		},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1595
		player:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1596
			type:'jwplayer',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1597
			src:'../res/swf/player.swf',
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1598
			params:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1599
				allowfullscreen:"true", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1600
				allowscriptaccess:"always",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1601
				wmode:"transparent"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1602
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1603
			flashvars:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1604
				streamer:"streamer",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1605
				file:"file", 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1606
				live:"true",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1607
				autostart:"false",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1608
				controlbar:"none",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1609
				playerready:"IriSP.playerReady"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1610
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1611
			attributes:{
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1612
				id:"Ldtplayer1",  
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1613
				name:"Ldtplayer1"
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1614
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1615
		},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1616
		module:null
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1617
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1618
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1619
/* ui.js - ui related functions */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1620
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1621
/* FIXME: use an sharing library */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1622
IriSP.LdtShareTool = IriSP.share_template; /* the contents come from share.html */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1623
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1624
IriSP.createPlayerChrome = function(){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1625
	var width = IriSP.config.gui.width;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1626
	var height = IriSP.config.gui.height;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1627
	var heightS = IriSP.config.gui.height-20;
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1628
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1629
	// AUDIO  */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1630
	// PB dans le html : ; 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1631
	IriSP.trace( "__IriSP.createMyHtml",IriSP.config.gui.container );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1632
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1633
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1634
	/* FIXME : factor this in another file */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1635
	if( IriSP.config.gui.mode=="radio" ){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1636
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1637
		IriSP.jQuery( "#"+IriSP.config.gui.container ).before(IriSP.search_template);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1638
		var radioPlayer = Mustache.to_html(IriSP.radio_template, {"share_template" : IriSP.share_template});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1639
		IriSP.jQuery(radioPlayer).appendTo("#"+IriSP.config.gui.container);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1640
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1641
		// special tricks for IE 7
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1642
		if (IriSP.jQuery.browser.msie==true && IriSP.jQuery.browser.version=="7.0"){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1643
			//LdtSearchContainer
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1644
			//__IriSP.jQuery("#LdtPlayer").attr("margin-top","50px");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1645
			IriSP.jQuery("#Ldt-Root").css("padding-top","25px");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1646
			IriSP.trace("__IriSP.createHtml","IE7 SPECIAL ");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1647
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1648
	} else if(IriSP.config.gui.mode=="video") {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1649
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1650
		var videoPlayer = Mustache.to_html(IriSP.video_template, {"share_template" : IriSP.share_template, "heightS" : heightS});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1651
		IriSP.jQuery(videoPlayer).appendTo("#"+IriSP.config.gui.container);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1652
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1653
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1654
	/* FIXME : move it elsewhere */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1655
	IriSP.trace("__IriSP.createHtml",IriSP.jQuery.browser.msie+" "+IriSP.jQuery.browser.version);		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1656
	IriSP.trace("__IriSP.createHtml","end");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1657
	IriSP.jQuery("#Ldt-Annotations").width(width-(75*2));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1658
	IriSP.jQuery("#Ldt-Show-Arrow-container").width(width-(75*2));
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1659
	IriSP.jQuery("#Ldt-ShowAnnotation-audio").width(width-10);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1660
	IriSP.jQuery("#Ldt-ShowAnnotation-video").width(width-10);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1661
	IriSP.jQuery("#Ldt-SaKeyword").width(width-10);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1662
	IriSP.jQuery("#Ldt-controler").width(width-10);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1663
	IriSP.jQuery("#Ldt-Control").attr("z-index","100");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1664
	IriSP.jQuery("#Ldt-controler").hide();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1665
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1666
	IriSP.jQuery(IriSP.annotation_loading_template).appendTo("#Ldt-ShowAnnotation-audio");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1667
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1668
	if(IriSP.config.gui.mode=='radio'){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1669
		IriSP.jQuery("#Ldt-load-container").attr("width",IriSP.config.gui.width);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1670
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1671
	// Show or not the output
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1672
	if(IriSP.config.gui.debug===true){
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1673
		IriSP.jQuery("#Ldt-output").show();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1674
	} else {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1675
		IriSP.jQuery("#Ldt-output").hide();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1676
	}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1677
	
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1678
};
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1679
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1680
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1681
/* create the buttons and the slider   */
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1682
IriSP.createInterface = function( width, height, duration ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1683
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1684
		IriSP.jQuery( "#Ldt-controler" ).show();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1685
		//__IriSP.jQuery("#Ldt-Root").css('display','visible');
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1686
		IriSP.trace( "__IriSP.createInterface" , width+","+height+","+duration+"," );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1687
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1688
		IriSP.jQuery( "#Ldt-ShowAnnotation").click( function () { 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1689
			 //__IriSP.jQuery(this).slideUp(); 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1690
		} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1691
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1692
		var LdtpPlayerY = IriSP.jQuery("#Ldt-PlaceHolder").attr("top");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1693
		var LdtpPlayerX = IriSP.jQuery("#Ldt-PlaceHolder").attr("left");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1694
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1695
		IriSP.jQuery( "#slider-range-min" ).slider( { //range: "min",
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1696
			value: 0,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1697
			min: 1,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1698
			max: duration/1000,//1:54:52.66 = 3600+3240+
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1699
			step: 0.1,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1700
			slide: function(event, ui) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1701
				
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1702
				//__IriSP.jQuery("#amount").val(ui.value+" s");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1703
				//player.sendEvent('SEEK', ui.value)
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1704
				IriSP.MyApiPlayer.seek(ui.value);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1705
				//changePageUrlOffset(ui.value);
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1706
				//player.sendEvent('PAUSE')
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1707
			}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1708
		} );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1709
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1710
		IriSP.trace("__IriSP.createInterface","ICI");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1711
		IriSP.jQuery("#amount").val(IriSP.jQuery("#slider-range-min").slider("value")+" s");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1712
		IriSP.jQuery(".Ldt-Control1 button:first").button({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1713
			icons: {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1714
				primary: 'ui-icon-play'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1715
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1716
			text: false
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1717
		}).next().button({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1718
			icons: {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1719
				primary: 'ui-icon-seek-next'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1720
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1721
			 text: false
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1722
		});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1723
		IriSP.jQuery(".Ldt-Control2 button:first").button({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1724
			icons: {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1725
				primary: 'ui-icon-search'//,
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1726
				//secondary: 'ui-icon-volume-off'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1727
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1728
			text: false
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1729
		}).next().button({
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1730
			icons: {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1731
				primary: 'ui-icon-volume-on'
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1732
			},
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1733
			 text: false
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1734
		});
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1735
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1736
		// /!\ PB A MODIFIER 
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1737
		//__IriSP.MyTags.draw();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1738
		IriSP.trace("__IriSP.createInterface","ICI2");
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1739
		IriSP.jQuery( "#ldt-CtrlPlay" ).attr( "style", "background-color:#CD21C24;" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1740
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1741
		IriSP.jQuery( "#Ldt-load-container" ).hide();
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1742
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1743
		if( IriSP.config.gui.mode=="radio" & IriSP.jQuery.browser.msie != true ) {
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1744
			IriSP.jQuery( "#Ldtplayer1" ).attr( "height", "0" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1745
		}
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1746
		IriSP.trace( "__IriSP.createInterface" , "3" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1747
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1748
		IriSP.trace( "__IriSP.createInterface", "END" );
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1749
		
49b0b5b7e8ab add js file for end-users.
hamidouk
parents:
diff changeset
  1750
	};