///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// player.js
//////////////////////////////playermediainfo/////////////////////////////////////////
///////////////////////////////////////////////////////////////////////

var me; //SWF id

function getID(swfID) {
   if (navigator.appName.indexOf("Microsoft") > -1) {
      me = window[swfID];
   } else {
      me = document[swfID];
   }
}

//appel de la fonction resize dans flash
function resizeFlash(pSize){
   me.flashChangeSize(pSize);
   
   if (getObj('playermediainfo'))
        getObj('playermediainfo').className = (pSize == "big") ? 'big_pmi' : "sml_pmi";	
}

function flashStopPlayer() {
   if (me != null){me.flashStopPlayer();};
}

function flashStartPlayer() {
   if (me != null){me.flashStartPlayer();};
}

function player_size() { flashPlayerResize(); }

function flashPlayerResize()
{
    window.oPlayer.ReSize();
}

function flashDrawRedSquare()
{
    me.flashDrawRedSquare();
}

function flashRemoveRedSquare()
{
    me.flashRemoveRedSquare();
}

function addClass(elt, className) {
	if(elt.className.indexOf(className) == -1)
		elt.className += " " + className;
}

function removeClass(elt, className) {
	var i = elt.className.indexOf(className);

  	if(i != -1)
		elt.className = elt.className.substr(0, i) + elt.className(i + className.length);

}

var selectedThumb = null;
function flashHighLightMedia(mediaID, mediaNum)
{

  if (window.oVignBnk && window.oVignBnk.displayType != 4)
    window.oVignBnk.HighlightMedia(mediaID);

  if (bGetMediaInfo){
	  if (bGetLocalMediaInfo){
	    var mediaNameElement = $('playermediainfo_name');
	    if (mediaNameElement){

        try {var media = alternateMediaBank[1][mediaNum];}
        catch (e){ media = initVignBnk[1][mediaNum];}

        var mediaId          = media[0];
        var mediaName        = media[2];
        var mediaAuthor      = media[3];
        var mediaRate        = media[4];
        var mediaDuration    = media[6];
        var mediaDescription = media[7];
        var mediaTags        = '';
        media[8].each(function(tag){mediaTags += ' <a href="/beta/search/for_tag/'+tag[0]+'">'+tag[1]+'</a>'});
        var mediaCategories  = '';
        media[9].each(function(category){mediaCategories += ' <a href="#" onclick="new Ajax.Request(\'http://localhost.canal-bis.com:3000/search/for_categories_video?categories%5B%5D='+category[0]+'\', {asynchronous:true, evalScripts:true})">'+category[1]+'</a>'});
        var mediaCreatedOn   = media[10];
        
        var mediaAuthorElement      = $('playermediainfo_author');
        var mediaRateElement        = $('playermediainfo_rate');
        var mediaDurationElement    = $('playermediainfo_duration');
        var mediaDescriptionElement = $('playermediainfo_description');
        var mediaTagsElement        = $('playermediainfo_tags');
        var mediaCreatedOnElement   = $('playermediainfo_created_on');
        var mediaCategoriesElement  = $('playermediainfo_categories');
      
        mediaNameElement.innerHTML = '<a href="/media/view/'+mediaId+'"><b>' + mediaName + '</a>';
        if (mediaAuthorElement){mediaAuthorElement.innerHTML = '<a title="'+ mediaAuthor +'" class="emphase" href="/user/'+ mediaAuthor +'">'+ mediaAuthor +'</a>'};
        if (mediaDescriptionElement){mediaDescriptionElement.innerHTML = mediaDescription};
        if (mediaTagsElement){mediaTagsElement.innerHTML = mediaTags};
        if (mediaRateElement){
          var rateImages = ''
          for(i=0;i<mediaRate;i++){rateImages += ' <img src="'+fullStar+'" />'};
          for(i=5;i>mediaRate;i--){rateImages += ' <img src="'+emptyStar+'" />'};
          mediaRateElement.innerHTML = rateImages;
        };
        if (mediaDurationElement){mediaDurationElement.innerHTML = disptime(mediaDuration)};
        if (mediaCategoriesElement){mediaCategoriesElement.innerHTML = mediaCategories};
        if (mediaCreatedOnElement){mediaCreatedOnElement.innerHTML = mediaCreatedOn};
        
	    }
	    else{
        var codeHTML = '<a href="/media/view/'+initVignBnk[1][mediaNum][0]+'"><b>' + initVignBnk[1][mediaNum][2] + '</b></a> ' + tBy + ' <a title="'+ initVignBnk[1][mediaNum][3] +'" class="emphase" href="/user/'+ initVignBnk[1][mediaNum][3] +'">'+ initVignBnk[1][mediaNum][3] +'</a></br>' + initVignBnk[1][mediaNum][7]
	    }
    }
    else{ 
      var codeHTML = window.oAjax.Ajax('GetMediaInfo?id=' + mediaID);
    }
    
    var oHTML = getObj('playermediainfo');
   	if (oHTML && codeHTML) oHTML.innerHTML = '<div style="padding: 8px;">' + codeHTML + '</div>';
    
	};   
}

function flashPlayMedia(mediaID, mediaNum)
{
    me.flashPlayMediaNum(mediaID, mediaNum);
}

function flashReloadXmlFile (pURL) {
  me.flashReloadXmlFile(pURL);
}

function getFullScreenWindowParams() {
  return "toolbar=no"
    + ",status=no"
    + ",resizable=yes"
    + ",scrollbars=0"
    + ",width=" + screen.availWidth
    + ",height=" + screen.availHeight
    + ",fullscreen=yes"
    + ",menubar=no"
    + ",resize=no"
    + ",status=no";
}

function pleinecran(file)
{
    var w = window.open('/new_player/fullscreen', 'wFullscreen', getFullScreenWindowParams())
    w.focus();
}

function oFlashPlayer()
{
    this.displayMode = 'small';
    this.htmlObj = null;
    this.playerX = 0;
    this.playerY = 0;
}

function GFP_Init()
{
	var so = new SWFObject("/"+PartnerPlayer+".swf", "moviePlayer", "100%", "100%", "8", "#c0c0c0");

    so.addParam("menu", "true");
    so.addParam("align", "top");
    so.addParam("allowScriptAccess", "always");   
    so.addParam("scale", "noscale");
	
	if (bAllowFlashFullScreen){
		so.addParam("allowFullScreen", "true");    
		so.addVariable("allowFlash9FS","true"); 
	}
	else {
		so.addParam("wmode", "transparent");
		so.addParam("allowFullScreen", "true");    
		so.addVariable("allowFlash9FS","false"); 
	}
	;
    so.addVariable("allowCountMedia","true");  // par default = true

	// position du time en dessus de la barre de seek (true/false) -> false: a droite de la barre
    if (player_timePositionTop != '')       so.addVariable("timePositionTop",    player_timePositionTop); 
	if (player_volumeAlwaysOpen != '')      so.addVariable("volumeAlwaysOpen",   player_volumeAlwaysOpen);
	if (player_controleAlwaysOpen != '')    so.addVariable("controleAlwaysOpen", player_controleAlwaysOpen);
	if (player_leftAlignAuthorLayout != '') so.addVariable("leftAlignAuthorLayout", player_leftAlignAuthorLayout);
	if (player_starsColor != '')            so.addVariable("starsColor",    player_starsColor);
	if (player_blackColor != '')            so.addVariable("blackColor",    player_blackColor);
	if (player_rollOverColor != '')         so.addVariable("rollOverColor", player_rollOverColor);
	if (player_rollOutColor != '')          so.addVariable("rollOutColor",  player_rollOutColor);

    so.addVariable("bufferTime", "4");
    so.addVariable("preloadMedia", "4");
//    so.addVariable("autoStartAt", "1");
//    so.addVariable("pause", "false");

    so.addVariable("urlOpenMode", "_self"); // _self ou _blank

    so.addVariable("autoPlay", player_autoPlay);

	if (typeof(player_showAuthorInfo) == "undefined" || player_showAuthorInfo=='') player_showAuthorInfo = '4';
    so.addVariable("showAuthorInfo", player_showAuthorInfo);
	if (bShowPlayerMenu) so.addVariable("showPlaylistTime",playerMenuDuration);
	so.addVariable("openTimeInterface",playerInterfaceDuration);


    so.addVariable("normalVideoSizeX", player_normalVideoSizeX);
    so.addVariable("normalVideoSizeY", player_normalVideoSizeY);
    so.addVariable("FSVideoSizeX", player_FSVideoSizeX);
    so.addVariable("FSVideoSizeY", player_FSVideoSizeY);

	if (typeof(player_displaySoundBtn) == "undefined" ||  player_displaySoundBtn=='') player_displaySoundBtn = 'true';
	if (typeof(player_displayShareBtn) == "undefined" ||  player_displayShareBtn=='') player_displayShareBtn = 'true';
	if (typeof(player_displayDetailsBtn) == "undefined" ||  player_displayDetailsBtn=='') player_displayDetailsBtn = 'true';
	if (typeof(player_initialSoundLevel) == "undefined" ||  player_initialSoundLevel=='') player_initialSoundLevel = '50';
    so.addVariable("displaySoundBtn",   player_displaySoundBtn);
    so.addVariable("displayShareBtn",   player_displayShareBtn);
    so.addVariable("displayDetailsBtn", player_displayDetailsBtn);
    so.addVariable("initialSoundLevel", '100');

	if (bUserLoggedIn) {
	   so.addVariable("authenticatedUser", "1");
	} else {
	   so.addVariable("authenticatedUser", "0");
	};
	//so.addVariable("authenticatedUser", "0");
    so.addVariable ("url_auth", escape(url_auth)); 
	
	if (typeof(initChannelPlaylist) == "undefined" || initChannelPlaylist==''){
		so.addVariable("url_ml",initPlaylist);
	} else {
		so.addVariable("url_cn", initChannelPlaylist);
	}
	
    so.addVariable("url_ps", flvProviderPath);

    so.addVariable ("showListnavBtn", "true");
	so.addVariable ("showMenuBtn", "true");

    so.addVariable("isFullScreenPlayer", "false");
    so.addVariable("startBigScreen", bInitBigScreen);

    so.addVariable("fullScreenUrl", "/new_player/fullscreen"); 
    so.addVariable("screenAvailWidth", screen.availWidth); 
    so.addVariable("screenAvailHeight", screen.availHeight);    

    so.addVariable("url_rating",  "/playlist/rating/");
    so.addVariable("url_comment", "/playlist/comment/");
    so.addVariable("url_comptage","/counter/index/");   
	
    so.addVariable("url_hm",url_home); 
    so.addVariable("url_mb",url_mobile); 
    so.addVariable("url_ln",url_messages); 
	
    so.addVariable ("showListnavBtn", "true");  
    so.addVariable("url_author", "/user/");

	so.addVariable("showSocial", player_showSocial);

    so.addVariable("showVersion", "true");
    so.addVariable("showSwitchSizeBtn", bAllowResize);

		if (getObj('player')){
		  so.write("player");
	    getID ('moviePlayer');
	    this.displayMode = (bInitBigScreen == "true") ? 'big' : "small";	
			getObj('player').className = (bInitBigScreen == "true") ? 'big_plr' : "sml_plr";	
	    if (getObj('playermediainfo'))
	        getObj('playermediainfo').className = (bInitBigScreen == "true") ? 'big_pmi' : "sml_pmi";
		}
}
oFlashPlayer.prototype.Init = GFP_Init;

function GFP_ReSize()
{
    if (this.htmlObj == null)
        this.htmlObj = getObj('player');

    if (this.displayMode == 'small')
    {
        if (this.htmlObj)
                 this.htmlObj.className = 'big_plr';
        this.displayMode = 'big';
        if (window.oVignBnk)
            window.oVignBnk.ReSize('small');
        
        resizeFlash('big');
        
        if (window.oLightBox)
            window.oLightBox.SetLightBox();
    }
    else
    {
        if (this.htmlObj)
                 this.htmlObj.className = 'sml_plr';
        this.displayMode = 'small';
        if (window.oVignBnk)
          window.oVignBnk.ReSize('big');
        
        resizeFlash('small');
        
        if (window.oLightBox)
          window.oLightBox.SetLightBox();
    }
}
oFlashPlayer.prototype.ReSize = GFP_ReSize;

window.oPlayer = new oFlashPlayer();