﻿
function createVideoPlayer(URL) {
    var type = "&type=mp3";
    
    var url = URL;
    if (url.length == 0)
        url = baseJSUrl+"/player2/include/mediaplayer.xml";
    var FOV={movie:parent.baseJSUrl+"/player2/include/mediaplayer314c.swf?nc="+Math.random(),id:"videomediaplayer",name:"videomediaplayer",width:"320",height:"240",allowscriptaccess:"always",majorversion:"8",build:"0",bgcolor:"#FFFFFF",allowfullscreen:"false",flashvars:"linkfromdisplay=true&showicons=false&controlbar=none&displayheight=240&javascriptid=videomediaplayer&file="+url+"&enablejs=true&autostart=true&volume=70&repeat=false" };//bufferlength=0&
    UFO.create(FOV, "videoplayer");
    parent.alertv("PREROLL: created video player");
}

function loadMedia(URL) {
    setTimeout("if(!videoAlreadyStarted) {loadTheNextSong();stopTheVideoPreroll();  }",3000);
    var myplayer = thisMovie("videomediaplayer");
    if (true || typeof (myplayer) == "undefined")// || myplayer) 
    {
        createVideoPlayer(URL);
    } else {        
        myplayer.loadFile({file: URL});
        sendEventToPlayer(myplayer,"volume",80);
    }
}

function getUpdate(typ,pr1,pr2,pid) {
    if (pid == "videomediaplayer") 
        getUpdateForTheVideo(typ,pr1,pr2,pid);
}	

var nextSongEventSent = false;
function loadTheNextSong() {
    if (!nextSongEventSent) {
        nextSongEventSent = true;
        loadNextSongScheduled = null;
        parent.alertv("VIDEO TRYING TO LOAD NEXT SONG");
        try { parent.playerStartNextSong(); } catch(ExSNSV) {}
    }
}

var hidePlayerCallMade = false;
function hideVideoPlayer() {
    if (!hidePlayerCallMade) {
        hidePlayerCallMade = true;
        hideVideoPlayerCallScheduled = null;
        parent.alertv("VIDEO TRYING TO HIDE");
        try { parent.playerHideVideoAd(); } catch(ExHV) {}
    }
}
function setRemainingTime() {
    //try {
        var sp = document.getElementById("remainingsec");
        if (sp) {
            sp.innerHTML = top.formatMMSS(previousRemainingTime);
        }
    //} catch (eSRT1) {}
}
var previousRemainingTime = 0;
var loadNextSongScheduled = null;
var hideVideoPlayerCallScheduled = null;
var videoAlreadyStarted = false;
function getUpdateForTheVideo(typ,pr1,pr2,pid) {
//    if (typ == "state") parent.alertv("PLAYER:"+pid+" IS IN STATUS "+pr1);
    if (typ=="time" && pr2 > 0 && previousRemainingTime!= pr2) {
        previousRemainingTime = pr2;
        setRemainingTime();
    }
    if (typ=="time" && (pr2>0) && (pr2 <= 2) ) {
        try
        {
            if (!loadNextSongScheduled)
                loadNextSongScheduled = setTimeout('loadTheNextSong();',1200);
            
        } catch(goToNextSongE) {}
        try
        {
            if (!hideVideoPlayerCallScheduled)
                hideVideoPlayerCallScheduled = setTimeout('hideVideoPlayer();',2000);
        } catch(hideVideoAdE) {}
    }        
    

    if (typ== "state" && pr1 == "2" && !videoAlreadyStarted) {
        videoAlreadyStarted = true;
    }

    if (typ== "state" && pr1 == "3") {
        loadTheNextSong();
        hideVideoPlayer();
    }
           
}

function sendEventToPlayer(player,typ,prm) {
    parent.alertv('EVENT_SENT_TO_PLAYER:'+player['id']+":"+typ + ' ' +prm );
    try {
        if (typeof (player.sendEvent) == "undefined")
        //IE, as usual, has problems here
            thisMovie(player['id']).sendEvent(typ,prm);
        else
            player.sendEvent(typ,prm);
    } catch (seP) {parent.alertv("EXCEPTION: send EventPlayer")};
}

function thisMovie(movieName) {
    if(navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}
	
function stopTheVideoPreroll() {
    try
    {
        var myplayer = thisMovie("videomediaplayer");
        sendEventToPlayer(myplayer,"volume",0);
        sendEventToPlayer(myplayer,"stop");
    } catch(stopVideoAdE) {parent.alertv("EEERRR:"+stopVideoAdE.message);}
    try
    {
        if (!hideVideoPlayerCallScheduled)
            hideVideoPlayerCallScheduled = setTimeout('hideVideoPlayer();',8000);
    } catch(hideVideoAdE) {}
}
