player =
{
	progressBarFactor: 1.3,
	
	entrySec: 0,
	
	showProgressBarLayer: function(event)
		{
			var progress = (event.pageX-82) / player.progressBarFactor;
			
			var seconds = (player.duration/100)*progress;
			//console.log(foo);
			
			var timeByMouseOver = player.secondsToHumanTime(seconds);
			
			
			$('div#progressBarLayer').css('left', progress*1.3+30).text(timeByMouseOver);
		},
	
	jumpToSeconds: function(seconds)
		{
			player.ref.sendEvent("SEEK", seconds);
			console.log('jump to '+seconds);
			
		},
		
	updateBuffer: function(obj)
		{
			//console.log("jwLoadListener " + obj.loaded + " total " + obj.total + " offset " + obj.offset);
			//var percentBuffert = Math.floor( ((obj.loaded/obj.total)*100)*1.5 );
			$('div#progressHolder').css('width', '130px');
		},
	
	secondsToHumanTime: function(currentPositionInSecond)
		{
			// 00:00:xx
			if (currentPositionInSecond < 60)
				{
					var time = '00:00:';
					if (currentPositionInSecond < 10) { time = time + '0'; } else { time = time + ''; }
					time = time + Math.floor(currentPositionInSecond);
					
					return time;
				}
			
			// 00:yy:xx
			if (currentPositionInSecond >= 60 && currentPositionInSecond < 3600)
				{
					var time = '00:';
					
					var minutes = ( Math.floor(currentPositionInSecond/60) );
					if (minutes < 10) { minutes = '0'+minutes; }
					time = time + (minutes)+':';
					
					var secondsDone = (minutes*60);
					
					var seconds     = Math.floor( (currentPositionInSecond)-(secondsDone) );
					
					if (seconds < 10) { time = time + '0'; }
					time = time + seconds;
					
					return time;
				}
			
			// zz:yy:xx
			if (currentPositionInSecond >= 3600)
				{
					var hours = Math.floor(currentPositionInSecond/60/60);
					time = '0'+hours+':'; // Stunden
					
					//
					var restMinutes = Math.floor( (currentPositionInSecond/60) - (hours*60) ); // stunden in minuten umrechnen und abziehen
					if (restMinutes < 10) { restMinutes = '0'+restMinutes; }
					time = time + restMinutes + ':'; // Minuten
					
					//
					var restSeconds = ( (currentPositionInSecond/60) - (hours*60) - restMinutes );
					restSeconds = Math.round(restSeconds * 60);
					if (restSeconds < 10 && restSeconds != 0) {  time = time + '0'; }
					if (restSeconds == 0) { $('div#time').append('00'); }
					time = time + restSeconds; // Sekunden
					
					return time;
				}
		},
	
	updateTime: function(obj)
		{
			player.duration = obj.duration;
			var currentPositionInSecond = Math.floor(obj.position);
			
			$('div#time').text(player.secondsToHumanTime(currentPositionInSecond));
			
			//player.secondsToHumanTime(currentPositionInSecond);
			
			// progress-bar, progress-indikator
			//---------------------------------------------------------------------------------
			var percentProgressInPixel = ((obj.position/obj.duration)*100)*player.progressBarFactor;
			$('div#progress').css('width', percentProgressInPixel);
			$('div#progressHandle').css('left', percentProgressInPixel);
		},
	
	addEventListener: function()
		{
			player.ref.addModelListener('LOADED', 'player.updateBuffer');
			player.ref.addModelListener('TIME',   'player.updateTime');
			player.ref.addModelListener('STATE',  'player.stateListener');
		},
	
	stateListener: function(obj)
		{
			//console.log("jwStateListener newstate " + obj.newstate + " oldstate " + obj.oldstate);
			
			if (obj.newstate == 'PLAYING' && player.entrySec != 0)
				{
					setTimeout("player.jumpToSeconds("+player.entrySec+");", 900);
					player.entrySec = 0;
				}
		},
	
	ready: function(obj)
		{
			var id      = obj['id'];
			var version = obj['version'];
			var client  = obj['client'];
			
			player.addEventListener();
		},
	
	setRef: function(swfId)
		{
			player.ref = document.getElementById('flvplayer');
			
		},
	
	changeSize: function()
		{
			$('#flvplayer').attr('width', player.width).attr('height', player.height);
			$('div#player').css('width', player.width+4);
			
			var chapterLeft = (740/2)-(player.width/2);
			if (list.lang == 'de') { chapterLeft += 95; } else { chapterLeft += 110; }
			$('div#chapter').css('left', chapterLeft);
			
			var downloadsLeft = (740/2)-(player.width/2)+player.width;
			$('div#downloads').css('left', downloadsLeft);
		},
	
	changeMovie: function(filename)
		{
			//$('div#progressHolder').css('width', 0);
			
			//loadObject = {};

			//player.ref.sendEvent("LOAD", 'loadObject');
			
			obj = {file: filename+'.flv'};
			

			player.ref.sendEvent("LOAD", obj);
			
			
			player.ref.sendEvent("PLAY","true");
			
			
			// change html title
			var title = $('div.click').find('span.title').text();
			
			if (title.length != 0) { title = title + ' - '; }
			
			if (list.lang == 'de')
				{
					document.title = title+'Mediaplayer - ThyssenKrupp';
				}
			else
				{
					document.title = title+'Media player - ThyssenKrupp';
				}
		},
	
	writeSwf: function(width, height, lang)
		{
			// width
			if (width == null)
				{
					width = 512;
				}
			else
				{
					width = parseFloat(width);
				}
			
			// height
			if (height == null)
				{
					height = 288;
				}
			else
				{
					height = parseFloat(height);
				}
			
			var flashvars =
				{
					autostart: 'true',
					//file: '/mediaplayer/lib/images/clip-first-'+lang+'.jpg',
					streamscript: '../../stream.php',
					aboutlink: 'http://www.thyssenkrupp.com',
					abouttext: 'ThyssenKrupp Mediaplayer',
					//debug: 'console',
					fullscreen: true,
					//bufferlength: 0,
					skin: '/mediaplayer/skin.swf',
					tracecall: function(event)
						{
							//console.log(event);
						},
					//stretching: 'fill',
					controlbar: 'over'
					//controlbar: 'none'
				};
			
			var params =
				{
					allowscriptaccess: 'always',
					allowfullscreen: 'true',
					wmode: 'transparent'
				};
			
			var attributes =
				{
					id: 'flvplayer',
					name: 'flvplayer'
				};
			
			$('div#player').css('width', width+4+'px');
			
			
			swfobject.embedSWF('/mediaplayer/lib/swf/mediaplayer-2008-12-02.swf', 'swfObject', width, height, '8', false, flashvars, params, attributes);
		},
		
	changeVolume: function(event)
		{
			$('div#vol li').removeClass('act');
			$(event.target).addClass('act').prevAll().addClass('act');
			
			split = $(event.target).attr('id').split('-');
			
			player.ref.sendEvent("VOLUME", split[1]);
		}
}