﻿var Preroll={
	Movics:{},

	doEvent:function(player_id, action){
		var c=document.createElement('IFRAME');
		c.src=Preroll.Movics[player_id].Events[action];
		c.width=0;
		c.height=0;
		document.body.appendChild(c);
	},
		
	GetPlayer:function(pl) {return $(pl)},

	InitPlayer:function(player_id) {
		Preroll.Movics[player_id]={};
		var p=Preroll.GetPlayer(player_id);
		if (p) {
			setTimeout("Preroll.InitPlayer_ts('"+player_id+"')", 300);
		} else {
			setTimeout("Preroll.InitPlayer('"+player_id+"')", 300);
		}
	},

	InitPlayer_ts:function(player_id) {
		var p=Preroll.GetPlayer(player_id);
		try{
			if (p.getPlaylist()[0].file) {
				Preroll.Movics[player_id].state=1;
				Preroll.Movics[player_id].pl=0;
				Preroll.Movics[player_id].video=p.getPlaylist()[0].file;
				p.addModelListener("STATE", "Preroll.StateListener");
			}
		} catch (e) {Preroll.InitPlayer(player_id)}
	},

	CheckTimeout:function(player_id) {
		if (!Preroll.Movics[player_id].tm){
			Preroll.Movics[player_id].tm=1;
			Preroll.Movics[player_id].pl=2;
			Preroll.PlayMovie(player_id);
		}
	},
	
	StateListener:function(st) {
		currentState = st.newstate; 
		previousState = st.oldstate;
		player_id=st.id;
		var p=Preroll.GetPlayer(player_id);
		
		if ((currentState == "BUFFERING"  || currentState == "PLAYING") && Preroll.Movics[player_id].pl==0) {	/*First start */
			Preroll.Movics[player_id].pl=1;
			p.sendEvent('STOP');
			
			setTimeout("Preroll.CheckTimeout('"+player_id+"')", 1000);	/*Timeout for load xml with banner else play video */
			new Ajax.Request('/A/GetAdfoxXML/'+Math.random(), {
				method:       'post', 
				parameters:   '', 
				asynchronous: true,
				onSuccess: function(response){
					if (!Preroll.Movics[player_id].tm){
						Preroll.Movics[player_id].tm=1;
						res = response.responseText.evalJSON();
						if (res.video) {
							Preroll.Movics[player_id].Events={start:res.start, stop:res.stop, end:res.end};
							p.sendEvent('LOAD', res.video);
							p.sendEvent('PLAY');
							Preroll.doEvent(player_id, 'start');
						} else {
							Preroll.Movics[player_id].pl=2;
							Preroll.PlayMovie(player_id);
						}
					}
				}
			});	
		}
			
		
		if (currentState == "COMPLETED" && Preroll.Movics[player_id].pl==1)	{Preroll.Movics[player_id].pl=2; Preroll.doEvent(player_id, 'stop');   Preroll.PlayMovie(player_id)};
		if (currentState == "COMPLETED" && Preroll.Movics[player_id].pl==2)	{Preroll.Movics[player_id].pl=3; Preroll.doEvent(player_id, 'end')};
	},

	PlayMovie:function(player_id) {
		var p=Preroll.GetPlayer(player_id);
		p.sendEvent('LOAD', Preroll.Movics[player_id].video);
		p.sendEvent('PLAY');
	}

};





