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 || window['firstplay_'+swf])
						{
                                                        var h = $('ep_viewPort_'+swf).getHeight();
                                                        var w = $('ep_viewPort_'+swf).getWidth();
                                                        var p = $('ep_viewPort_'+swf).cumulativeOffset();
                                                        var t = p[1]+h-20;
                                                        $('noseek_'+swf).setStyle({
                                                                height:'20px',
                                                                width:w+'px',
                                                                position:'absolute',
                                                                top:t+'px',
                                                                left:p[0]+'px',
                                                                display:'block'
                                                        });
												 
						}
				}
                if(pr1 == 3) {
						var vidlist = window['vidlist_'+swf];					
						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(window['firstplay_'+swf])
				{
					loadFile(swf,{file:vidlist[0][0]});
					dbUpdate(vidlist[0][0],'video');
					window['firstplay_'+swf]=false;
				} else {
                                loadFile(swf,{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_'+swf).setStyle({
									display:'none'
								});								
                                playthru = 1;
                                delayPlay(swf);
                        }
                }
        }
};
function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
        return window[swf];
  } else {
        return document[swf];
  }
};
function loadFile(swf,obj) {
  thisMovie(swf).loadFile(obj);
};

var delayPlay = 
// 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.
	function(typing){
		var x = "sendEvent('"+typing+"','playpause')";
		setTimeout(x,200);
	}

var loadPlayer =
    function(typ,div,play,img,pl) {
                var h = 220;
                var dh = 200;
                var w = 300;
                switch(typ)
                {
                        case 'small':
                                if ($(div).up('div').getWidth() < 300)
                                {
                                        var w = $(div).up('div').getWidth()-34;
                                        var h = Math.round(w*.666);
                                }
                        break;
                }
                var typing = div.replace(/ep_viewPort_/,'');
        var so = new SWFObject('/mpl/mediaplayer.swf',typing,w,h,'7','#ffffff');
        so.addParam("allowfullscreen","true");
        so.addParam("wmmode","transparent");
        so.addVariable("file",pl);
        so.addVariable("autostart",play);
        so.addVariable("enablejs","true");
        so.addVariable("javascriptid",typing);
        so.addVariable("width",w);
        so.addVariable("height",h);
        so.addVariable("image",img);
        so.addVariable("displayheight",dh);
        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 internalHandler = 
	function(){
		$$('a.internal').invoke('stopObserving','click')		
		$$('a.internal').invoke('observe','click',function(e){
			$(e).stop();
			var rel = this.readAttribute('rel');
			var target = this.readAttribute('type');
			switch(rel){
				case 'share':
					$$('div.ep_playerChild').findAll(function(el){
						el.toggle();
					});					
				break;
				case 'showVid':
					vid = this;
					window['firstplay_'+target] = false;					
					var preroll = window['preroll_'+target];
					var vidlist = window['vidlist_'+target];
					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(target,{file:preroll[prerollIndex]});
						dbUpdate(preroll[prerollIndex],'preroll');
						sendEvent(target,'playpause')		
					} else {
		                                loadFile(target,{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_'+target).setStyle({
							display:'none'
						});								
		                                playthru = 1;
		                                delayPlay(target);
					}
					$('ep_vidTitle_'+target).update(vidlist[this.readAttribute('rev')][1]);
					$('ep_vidDesc_'+target).update(vidlist[this.readAttribute('rev')][3]);
					$('storylink_'+target).href=vidlist[this.readAttribute('rev')][4];	
					$('story_id_'+target).value=vidlist[this.readAttribute('rev')][5];											
				break;
				case 'page':
					var vidlist = window['vidlist_'+target];					
					var updateList = '';
					var ep_class = 'ep_even';
					var dispTitle = '';
					var shortText = '';
					$$('a.internal').findAll(function(el){
						if(el.readAttribute('rel') == 'page' && el.up('div').previous('ul').id == 'list_'+target){
							el.setStyle({background:'#FFFFFF'});
						}
					});
					this.setStyle({'background':'#FFFF00'})
					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])
	          {
							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 internal' rel='showVid' rev='"+i+"' title='"+vidlist[i][1]+"' type='"+target+"'>"+dispTitle+"</a><br><span style='font-size:10px;font-weight:normal;'>"+shortText+"</span></li>";
						}
					}
					$('list_'+target).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').findAll(function(el){
				el.toggle();
			});								
		});
	}

var kickHandlers = 
	function(){
		$$('a.internal').findAll(function(el){
			el.setStyle({visibility:'visible'});
		});
		internalHandler();
		formHandler();
	};

var browser=navigator.appName;
if (browser!="Microsoft Internet Explorer")
{
	document.observe('dom:loaded',function(e){
		kickHandlers();
	});
}

