var firstplay;
var vid;
var playthru;
var dbUpdate = 
	function(file,typ){
		new Ajax.Request('/embedplayer/include/dbupdate.php',{
			parameters:'file='+file+'&typ='+typ,
			onSuccess:function(transport){
			}
		});		
	}

function sendEvent(swf,typ,prm) {
  thisMovie(swf).sendEvent(typ,prm);
};
function getUpdate(typ,pr1,pr2,swf) {
        if(typ == 'state') {
				if(pr1 == 2){
						if(playthru == 0 || firstplay)
						{
							var h = $('ep_viewPort').getHeight();
							var w = $('ep_viewPort').getWidth();
							var pos = cumulativeOffset($('ep_viewport'));
							alert(pos.left);
							var left = pos.left;
							var top = pos.top;
							$('noseek').setStyle({
								height:h+'px',
								width:(w+5)+'px',
								top:top+'px',
								left:top+'px',
								display:'block'
							});												 
						}
				}
                if(pr1 == 3) {
						var vidlist = window['vidlist'];	
						if(vidlist.length == 1)
						{
							dbUpdate(vidlist[0][0],'video');							
						}
                        if (playthru == 1)
                        {
                                delete playthru;
								vid.up('li').className = vid.up('li').className.replace(/ played/,'');																
								vid.up('li').className = vid.up('li').className.replace(/ playing/,' played');								
								vid.className = vid.className.replace(/ played/,'');																								
								vid.className = vid.className.replace(/ playing/,' played');																
                        } else {
								if(firstplay)
								{
	                                loadFile('mpl',{file:vidlist[0][0]});														
									dbUpdate(vidlist[0][0],'video');
									firstplay = false;
								} else {
	                                loadFile('mpl',{file:vidlist[vid.readAttribute('rev')][0]});
									dbUpdate(vidlist[vid.readAttribute('rev')][0],'video');
								}
								vid.up('li').className = vid.up('li').className+' playing';
								vid.className = vid.className+' playing';																	
								$('noseek').setStyle({
									display:'none'
								});								
                                playthru = 1;
                                delayPlay('mpl');
                        }
                }
        }
};
function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
        return window[swf];
  } else {
        return document[swf];
  }
};
function loadFile(swf,obj) {
  thisMovie(swf).loadFile(obj);
};

// This is a hack of a hack.  So awful.  But it makes the player slide from the preroll to the video smoothly.  Baby Jesus Cries.
var delayPlay = 
	function(typing){
		var x = "sendEvent('"+typing+"','playpause')";
		setTimeout(x,200);
	}

var loadPlayer =
    function(div,img,pl) {
        var so = new SWFObject('mediaplayer.swf','mpl','300','200','#ffffff');
        so.addParam("allowfullscreen","true");
		so.addParam("wmmode","transparent");
        so.addVariable("file",pl);
        so.addVariable("autostart","false");
        so.addVariable("enablejs","true");
        so.addVariable("javascriptid",'mpl');
        so.addVariable("width","300");
        so.addVariable("height","200");
        so.addVariable("image",img);
        so.addVariable("displayheight","200");
        so.addVariable("repeat","list");
        so.addVariable("shuffle","false");
        so.addVariable("backcolor","0x000000");
        so.addVariable("frontcolor","0xcccccc");
        so.addVariable("lightcolor","0x3399cc");
        so.addVariable("screencolor","0x000000");
        so.write(div);
    }

var ep_internalHandler = 
	function(){
		$$('a.ep_internal').invoke('stopObserving','click')		
		$$('a.ep_internal').invoke('observe','click',function(e){
			$(e).stop();
			var rel = this.readAttribute('rel');
			switch(rel){
				case 'share':
					$$('div.ep_playerChild').invoke('toggle')				
				break;
				case 'showVid':
					vid = this;
					var preroll = window['preroll'];
					var vidlist = window['vidlist'];
					playthru = 0;
					$$('li.ep_odd').findAll(function(el){
						el.className = el.className.replace(/ playing/,'');
						el.down('a').className = el.down('a').className.replace(/ playing/,'');
					});					
					$$('li.ep_even').findAll(function(el){
						el.className = el.className.replace(/ playing/,'');
						el.down('a').className = el.down('a').className.replace(/ playing/,'');
					});	
					if (preroll.size() > 0) {
						var prerollIndex = Math.floor(Math.random()*preroll.size());
						loadFile('mpl',{file:preroll[prerollIndex]});
						dbUpdate(preroll[prerollIndex],'preroll');
						sendEvent('mpl','playpause');
					} else {
                        loadFile('mpl',{file:vidlist[vid.readAttribute('rev')][0]});
						dbUpdate(vidlist[vid.readAttribute('rev')][0],'video');
						vid.up('li').className = vid.up('li').className+' playing';
						vid.className = vid.className+' playing';
						$('noseek').setStyle({
							display:'none'
						});								
                        playthru = 1;
                        delayPlay('mpl');
					}
					$('ep_vidTitle').update(vidlist[this.readAttribute('rev')][1]);
					$('ep_vidDesc').update(vidlist[this.readAttribute('rev')][3]);
					$('storylink').href=vidlist[this.readAttribute('rev')][4];	
					$('story_id').value=vidlist[this.readAttribute('rev')][5];											
				break;
				case 'page':
					var vidlist = window['vidlist'];					
					var updateList = '';
					var ep_class = 'ep_even';
					var dispTitle = '';
					var shortText = '';
					$$('a.ep_internal').findAll(function(el){
						if(el.readAttribute('rel') == 'page'){
							el.setStyle({background:'#FFFFFF'});
						}
					});
					this.setStyle({'background':'#FFFF00'})
					var ep_class = 'ep_odd';
					for(i=(this.readAttribute('rev')*10);i<(this.readAttribute('rev')*10+10);i++){
	                       			ep_class = (ep_class == 'ep_even') ? 'ep_odd' : 'ep_even';		
						if (vidlist[i][1].length > 30){
							dispTitle=vidlist[i][1].substr(0,30)+'...';
						} else {
							dispTitle=vidlist[i][1];
						}
						shortText = vidlist[i][6];
						updateList = updateList+"<li class='"+ep_class+"'><a href='#' class='vidTitle ep_internal' rel='showVid' rev='"+i+"' title='"+vidlist[i][1]+"'>"+dispTitle+"</a><div>"+vidlist[i][6]+"</div></li>";
					}
					$('list').update(updateList);
			                kickHandlers();
				break;
				default:
					alert(this.readAttribute('rel'));
				break;
			}
		});
	}

var formHandler = 
	function(){
		$$('form.ep_ajaxform').invoke('stopObserving','submit')
		$$('form.ep_ajaxform').invoke('observe','submit',function(e){
			$(e).stop();
			args = this.serialize();
			new Ajax.Request('/embedplayer/include/email.php',{
					parameters:args,
					onSuccess:function(transport){
						alert('Your message has been sent!');
					}
			});									
			$$('div.ep_playerChild').invoke('toggle')
		});
	}

var kickHandlers = 
	function(){
		ep_internalHandler();
		formHandler();
	};

document.observe('dom:loaded',function(e){
	kickHandlers();
});

