examples/LdtPlayer-release.js
author cavaliet
Mon, 13 Feb 2012 12:49:02 +0100
branchpopcorn-port
changeset 798 56fd575cb447
parent 47 49b0b5b7e8ab
permissions -rw-r--r--
little clean modif.
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
	};