var fceps = new Array();
var fcepc = 0;

var FCEP = new Class({
	initialize: function(id){
		this.id = id;
		this.oid = fcepc++;
		this.curr = 0;
		this.media = new Array();
		this.caption = new Array();
		fceps[this.oid] = this;
		this.movie = false;
		this.fflv = true;
	}
});
	
FCEP.implement( {
	addMedia: function( media, caption ) {
		this.media[this.media.length] = media;
		this.caption[this.caption.length] = caption;
	}
});

FCEP.implement( {
	preload: function() {
		this.flashelement = $('fcep_flash_'+this.id);
// 		alert(this.flashelement);
		this.flashelement.style.visibility='hidden';
		this.captionelement = $('fcep_caption_'+this.id);
// 		alert(this.captionelement);
// 		if(navigator.appName.indexOf("Microsoft") != -1) {
// 		this.movie = window['fceplayer'+this.id];
// 		} else {
// 		this.movie = document['fceplayer'+this.id];
// 		}
// 		alert(this.movie);
// 		if(navigator.appName.indexOf("Microsoft") != -1) {
// 		this.movie = window['fceplayer'+this.id];
// 		} else {
// 		this.movie = document['fceplayer'+this.id];
// 		}
		
		var _self = this;
		
		this.imgBlend = new Fx.Style('fcep_image_'+this.id, 'opacity',
			 {duration:300, onComplete:function() {
			_self.imgOut();
		 }});
		 
		 this.captionSlide = new Fx.Slide( 'fcep_caption_'+this.id, {duration:250} );
// 		 this.captionSlide.show();
		 
		 this.pimages = new Array();
		 for( i=0; i<this.media.length; i++ ) {
		 	var type = this.media[i].substr( this.media[i].length-3 );
		 	if( type != 'flv' ) {
		 		this.pimages[i]=new Image();
		 		this.pimages[i].src = this.media[i];
		 	}
		 }
		 
		 window.setTimeout('fcep'+this.id+'.genflash()', 1);
//  		 this.genflash();
	}
});

FCEP.implement( {
	genflash: function() {
					var type = this.media[0].substr( this.media[0].length-3 );

					this.flashelement.style.visibility = 'visible';
// 					var so = new SWFObject('media/mediaplayer.swf','fceplayer'+this.id,'367','206','8');
					var so = new SWFObject('fileadmin/templates/fbb08/media/mediaplayer.swf','fceplayer'+this.id,'367','206','8');

// 					var so = new SWFObject('fileadmin/templates/fbb08/media/player.swf','fceplayer'+this.id,'367','206','8');
					
					so.addParam('allowscriptaccess','always');
					so.addParam('allowfullscreen','true');
					so.addVariable('height','206');
					so.addVariable('width','367');
// 					if( type == 'flv' )
// 	 					so.addVariable('file',this.media[0]);
					so.addVariable('frontcolor','0x000000');
					so.addVariable('lightcolor','0x00b5dd');
					so.addVariable('searchbar','false');
					so.addVariable('shownavigation','false');
					so.addVariable('bufferlength','5');
					so.addVariable('autostart','true');
					so.addVariable('javascriptid', 'fceplayer'+this.id);
					so.addVariable('enablejs', 'true');

					so.write('fcep_flash_'+this.id);
					
					
// 					this.flashelement.style.visibility = 'hidden';

					if( type != 'flv' ){
						this.flashelement.style.visibility = 'hidden';
					}
					else {
						$('fcep_image_'+this.id).setStyle('opacity',0);
					}

// 					this.movie = so;
					
					window.setTimeout('fcep'+this.id+'.show(0)', 100);
	},
	getMovie: function() {
		if(navigator.appName.indexOf("Microsoft") != -1) {
			this.movie = window['fceplayer'+this.id];
		} else {
			this.movie = document['fceplayer'+this.id];
		}
	},
	fplay:function () {
			var loadobj = {file:this.media[0]};
			if( !this.movie )
					this.getMovie();
			this.movie.loadFile(loadobj); 
	}
});
	
FCEP.implement( {
	show: function( index ) {
		var type = this.media[index].substr( this.media[index].length-3 );
		if( index != this.curr ) {	
			this.curr = index;
			
			if( this.flashelement.style.visibility != 'visible' ) {
				this.next = this.curr;
				this.imgBlend.start(1,0);
//				this.captionSlide.slideOut();
				if( this.caption[index].length > 0 ) {
					this.captionelement.innerHTML = this.caption[this.next]+'<br/>';
					this.captionSlide.slideIn();
				}
			}
			else {
				if( type == 'flv' ) {
					if( !this.movie )
						this.getMovie();
					var loadobj = {file:this.media[index]};
		 			this.movie.loadFile(loadobj); 
				}
				else {
					this.flashelement.style.visibility = 'hidden';
					if( !this.movie )
						this.getMovie();
					this.movie.sendEvent('stop'); 
					this.next = this.curr;
					this.imgOut();
				}
			}
		}
		else if ( type == 'flv' && this.fflv && index==0 ) {
			this.fflv = false;
			this.flashelement.style.visibility = 'visible';
			window.setTimeout('fcep'+this.id+'.fplay()', 100);
// 			var loadobj = {file:this.media[index]};
// 			if( !this.movie )
// 					this.getMovie();
// 			this.movie.loadFile(loadobj); 
		}
		else if ( type == 'flv' ) {
			if( !this.movie )
				this.getMovie();
			this.movie.sendEvent('playpause');
			
		}
	}
});

FCEP.implement( {
	imgOut : function() {
		if( this.next >=0 ) {
			var type = this.media[this.next].substr( this.media[this.next].length-3 );
			
			if( type == 'flv' ) {
				var loadobj = {file:this.media[this.next]};
				this.next = -1;
				this.flashelement.style.visibility = 'visible';
				if( !this.movie )
						this.getMovie();
// 				alert(this.movie);
				this.movie.loadFile(loadobj); 
				
			}
			else {
				var imgobj = $('fcep_image_'+this.id);
				imgobj.src = this.media[this.next];
				imgobj.width = this.pimages[this.next].width;
				imgobj.height = this.pimages[this.next].height;
				imgobj.style.marginLeft = (367-imgobj.width)/2+'px';
				imgobj.style.marginTop = (206-imgobj.height)/2+'px';
				if( this.caption[this.next].length > 0 ) {
					this.captionelement.innerHTML = this.caption[this.next]+'<br/>';
					this.captionSlide.slideIn();
				}
				this.next = -1;
				this.imgBlend.start(0,1);
			}
		}
	}
});


function fceps_preload() {
	for( i=0; i< fceps.length; i++) {
		fceps[i].preload();
	}
}

function fbb_loading() {
	$(document.body).style.cursor = 'wait';
}

window.addEvent( 'load', fceps_preload );
window.addEvent( 'unload', fbb_loading );