//**********************************************************************//
//*************         通用直播播放器v1.1               ***************//
//*************			作者:谢荣华                      ***************//
//*************			有广告音量调节功能               ***************//
//*************			日期:20070604                    ***************//
//**********************************************************************//

//获取HTML对象
function $_vo(_id)
{
	return document.getElementById(_id);
}

//获取播放器对象
function $_po()
{
    return document.wmplayer;
}

//显示错误信息
function showErrorMessage(str)
{
    document.writeln("<div style=\"width:200px;\"><a href=\"http://u.vodone.com\" style=\"text-decoration:none;font-weight:bold;font-size:12px;color:#FF0000;cursor:hand\" target=\"_blank\">"+str+"</a>");
}

//函数:设置cookie的值
function setCookie (name, value)
{	
    var expires = new Date();
	expires.setTime(expires.getTime() + 12 * 30 * 24 * 60 * 60 * 1000);
	document.cookie =name+'='+value+';path=/;expires=' + expires.toGMTString();
}

//函数:获得cookie的值
function getCookie(cookieName) 
{
  var cookieString = document.cookie;
  var start = cookieString.indexOf(cookieName + '='); 
  if (start == -1) 
  return null;
  start += cookieName.length + 1;
  var end = cookieString.indexOf(';', start);
  if (end == -1) return unescape(cookieString.substring(start));
  return unescape(cookieString.substring(start, end));
}
//打开超连接
document.write("<a id=\"mute\"  target=\"_blank\"></a>");
function openurl_vo(url)
{
	$_vo("mute").href=url;
	$_vo("mute").focus();
	$_vo("mute").click();
}

//启动P2P
var objname="VodoneActivex.VodoneCtrl";
var iniFile="Vodone.cfg";
var protoca = "vod://";
function if_exists()
{	    
        var neo_object=false;
	    var flag='';
	    if(window.ActiveXObject)
	    {
		   try
		   {
				neo_object= new ActiveXObject(objname);
			}
		    catch(x) 
		   {
				flag='1';
			}
			if (neo_object)
			{
				neo_object.SetParam("IniFile", iniFile);
				neo_object.SetParam( "URL", "%1");
				neo_object.init();
				flag='0';
			}
	     }
	     else
	     {
			window.open(protoca,"resizable=no,scrollbars=no,width=0,height=0");
	      }
		return flag;
}

function neo_exists()
{
  var flag=if_exists();
  if (flag=="1")
  {
	 downActive();
  }
}

function downActive()
{
   var neoHTML;
   var version = "1,0,0,1029"
   neoHTML = '<OBJECT class=CNeoCtl id=neoactivex';
   neoHTML += ' codeBase=http://202.106.184.51/download/VodoneActivex.cab#Version=1,0,0,1029';
   neoHTML += ' height=1 width=1';
   neoHTML += ' classid=CLSID:759AA6A5-76B2-43E2-B940-B0C336C69E01>';         
   neoHTML += '</OBJECT>';
   document.writeln(neoHTML);
}

function startP2P()
{
	neo_exists();
}

var c_width_vodone=422;
var c_height_vodone=332; 
var c_left_vodone=0;
var c_right_vodone=0;
var c_width_vodone_large=422;
var c_height_vodone_large=355; 

var auto_width_vo	=422;		
var auto_height_vo	=355;	
var real_width_vo	=422;  
var real_height_vo	=332;  
var margin_top_vo   =0;
var margin_left_vo  =0; 

var sid_vodone="p5";
var cid_vodone="1";
var isusep2p_vo     =0;		//是否使用p2p直播
var catalogcode_vo  ="";	//普通直播的频道ID
var videourl_vo     ="";	//视频直播的地址
var videourl_large_vo="";   //视频直播的宽带流地址
var sysstate_vo		=0;		//当前系统的状态。0，初始值，1，广告缓冲完毕，2，广告播放完毕
var mutestate_vo    =false; //视频静音的标志
var voicenum_vo		=20;    //全局音量大小

var rooturl="http://www.vodone.com/tvlist/common/";



document.writeln("<div id='FrameWinLayer' style='float:left;margin:0px;width:"+auto_width_vo+"px; height:"+auto_height_vo+"px;z-index:-1000;'></div>");

function initWMVVideoLivePlayDiv(status)
{
	if(status)
	{
	   $_vo("WMVVideoLivePlayDiv").style.marginLeft="0px";
        $_vo("WMVVideoLivePlayDiv").style.marginTop="0px";
	}
	else
    {    
	   $_vo("WMVVideoLivePlayDiv").style.marginLeft=c_left_vodone+"px";
       $_vo("WMVVideoLivePlayDiv").style.marginTop=c_right_vodone+"px";
	}     
}

initWMVVideoLivePlayDiv(false);

//函数:检查直播模式，是否使用P2P
function CheckLiveMode()
{
    var isUseP2PLive=getCookie("IsUseP2PLive");     
    if(isUseP2PLive==null)
    {	   
	   isUseP2PLive="0";
	}
	if(isUseP2PLive=="1")
	{
	  return 1;
	}
	return 0;	
}

isusep2p_vo=CheckLiveMode();

//{设置当前直播频道的信息}
function initPlayerInfo_vo()
{	
	catalogcode_vo=_setVideoID;
	if(isusep2p_vo==0)
	{
		videourl_vo=asxurl_n;
	}	
	else
	{
		videourl_vo=asxurl_p;
		startP2P();
	}
}

initPlayerInfo_vo();

//{初始化主层}
function initFrameWinLayer_vo()
{
   var insertstr="";   
   insertstr+="<div id=\"ImgCoverLayer\"  style=\"position:absolute;z-index:1002;margin-top:"+margin_top_vo+"px;margin-left:"+margin_left_vo+"px;display:block;\"></div>";
   insertstr+="<div id=\"FlashPlayerDiv\" style=\"position:absolute;z-index:1003;margin-top:"+margin_top_vo+"px;margin-left:"+margin_left_vo+"px;display:block;\"></div>";
   insertstr+="<div id=\"MainPlayerDiv\"  style=\"position:absolute;z-index:1004;width:"+real_width_vo+"px;height:"+real_height_vo+"px;margin-top:"+margin_top_vo+"px;margin-left:"+margin_left_vo+"px;display:none;\"></div>";
   $_vo("FrameWinLayer").innerHTML=insertstr; 
}

//{初始化播放控制区域}

//{初始化缓冲播放层}
function initImgCover_vo()
{
  var loadingswfurl=rooturl+"images/loading.swf";
  var insertstr="";
  insertstr+="<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"  id=LoadSwf name=LoadSwf codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\""+real_width_vo+"\" height=\""+real_height_vo+"\">";
  insertstr+="<param name=\"movie\" value=\""+loadingswfurl+"\">";
  insertstr+="<param name=\"quality\" value=\"high\">";
    insertstr+="<param name=\"wmode\" value=\"opaque\">";
  insertstr+="<embed src=\""+loadingswfurl+"\" quality=\"high\" id=LoadSwf wmode=opaque  name=LoadSwf pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\""+real_width_vo+"\" height=\""+real_height_vo+"\"></embed>";
  insertstr+="</object>";  
  $_vo("ImgCoverLayer").innerHTML=insertstr;  
}

//{初始化视频播放层}
function initMainPlayer_vo()
{		
  var insertstr="<OBJECT id=\"wmplayer\" width=\""+real_width_vo+"\" height=\""+real_height_vo+"\"  classid=\"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6\"><PARAM NAME=\"windowlessVideo\" VALUE=\"0\"><PARAM NAME=\"URL\" VALUE=\"\"><PARAM NAME=\"enableContextMenu\" VALUE=\"false\"><PARAM NAME=\"stretchToFit\" VALUE=\"-1\"><PARAM NAME=\"uiMode\" VALUE=\"none\"><PARAM NAME=\"autoStart\" VALUE=\"false\"><PARAM NAME=\"volume\" VALUE=\""+voicenum_vo+"\"><PARAM NAME=\"mute\" VALUE=\"true\"></OBJECT>";											
  $_vo("MainPlayerDiv").innerHTML=insertstr;  
}

//*********************
//【视频控制代码】
//*********************
//播放
function Play_vo()
{
	$_po().URL=videourl_vo;	
	$_po().Controls.play();
}

function Stop_vo()
{	
	$_po().Controls.stop();
}
//全屏
function Full_vo()
{  
	try
	{
		if(sysstate_vo!=2)
		{
			return false;
		}
		if($_po().playState == 3)
		{
			$_po().fullScreen="true";
		}
	}catch(e){}
}

function SetVideoSize_vo(tag)
{  
	Full_vo();
	return true;
	try
	{  		
		if(tag)//全屏
		{
		  	$_po().style.width=c_width_vodone_large+"px";
			$_po().style.height=c_height_vodone_large+"px"; 
			$_vo("LoadSwf").style.width=c_width_vodone_large+"px";
			$_vo("LoadSwf").style.height=c_height_vodone_large+"px"; 
			initWMVVideoLivePlayDiv(true);
		}
		else
		{
		   $_po().style.width=c_width_vodone+"px";
		   $_po().style.height=c_height_vodone+"px";
		   $_vo("LoadSwf").style.width=c_width_vodone+"px";
		   $_vo("LoadSwf").style.height=c_height_vodone+"px"; 
		   initWMVVideoLivePlayDiv(false);		    
		}		
	}catch(e){}
}

function SetVoice_vo()
{
	try
	{
		$_po().settings.volume=voicenum_vo;
	}catch(e){}
}

//静音
function Mute_vo()
{
	if(sysstate_vo!=2)
	{
		FlashMute_vo();
		return false;
	}
	try
	{
		var realobj=$_po();
		if(realobj.settings.mute==true)
		{		 	
			realobj.settings.mute =false;		
			mutestate_vo=false; 
		}
		else
		{
			realobj.settings.mute =true;		
			mutestate_vo=true;				
		}	
	}
	catch(e)
	{

	}
}

//切换播放模式
function ChangePlayMode_vo()
{
	try
	{
		if(sysstate_vo!=2){return false;}
		if(isusep2p_vo==1)
		{ 
			isusep2p_vo=0; 
			playmode_log=0;	
			
		}
		else
		{
			isusep2p_vo=1;	
			playmode_log=1;			
		}	
		initPlayerInfo_vo();
		ShowImgCoverLayer(true);
		playStateMessage="";
		Play_vo();
		initlog_ps(playmode_log);
		setCookie("IsUseP2PLive",playmode_log);	
		addlog_ps(0);
	}catch(e){}
}

//获取当前时间 
function getNowDuration()
{	
	return duration=Math.floor($_po().controls.CurrentPosition)||0;		 
}

function ShowImgCoverLayer(status)
{
	if(status)
	{
	  $_vo("ImgCoverLayer").style.display="block";	
	}
	else
	{
      $_vo("ImgCoverLayer").style.display="none";	
	}	
}
//*****************************************
//*******    网站播放统计模块     *********
//*******    作者：谢荣华         *********
//*******    日期：2007.06.14     *********
//*****************************************
//统计通用全局变量
document.write('<img id="PlayStateImg1"  border="0" width="0" height="0" style="display:none">');	
document.write('<img id="PlayStateImg2"  border="0" width="0" height="0" style="display:none">');	
document.write('<img id="WMVStateImg"    border="0" width="0" height="0" style="display:none">');	
document.write('<img id="ERRStateImg"    border="0" width="0" height="0" style="display:none">');	
//检测WMV播放状态0 准备就绪6 开始缓冲2 播放暂停3 开始播放1 播放停止
var  contentid_log		=catalogcode_vo;
var  catalogcode_log    =catalogcode_vo;
var  servertype_log		=0;   //0表示vodone,1表示msn，2表示cnc,3,表示广告联盟，4视客
if(document.location.host.indexOf("msn.vodone.com")!=-1)
{
	servertype_log=1;
}
if(document.location.host.indexOf("cncmax.vodone.com")!=-1)
{
	servertype_log=2;
}
var  playtype_log       =1;   //0点播,1直播
var  playmode_log		=0;   //0普通直播（窄带）,1P2P直播（宽带）
var  playerid_log       ="wmplayer";
var  rurl_log=escape(document.referrer);
var  lurl_log=escape(document.location.href);
var  pageid_log=""+Math.random();	
pageid_log=pageid_log.split(".")[1]; 
function submitLog(id,url)
{	
	document.getElementById(id).src=url;
	
}
//[记录播放状况]
var re_ps=true; 
var isinit_ps=false;
var list_ps=new Array();
list_ps[0]=100; //播放准备就绪:0
list_ps[1]=100; //播放开始:   1
list_ps[2]=100; //播放开始5秒:2
list_ps[3]=100; //播放开始50%:3
list_ps[4]=100; //播放开始90%:4
function initlog_ps(playmode)
{    
  playmode_log=playmode;
  re_ps=false; 
  for(var i=0;i<list_ps.length;i++){list_ps[i]=100;}  
  isinit_ps=true;  
}
function addlog_ps(playstate)
{        
   if(isinit_ps)
   {    
	    if(playstate==0)
	    {
		    if(list_ps[playstate]==100) {list_ps[playstate]=playstate;re_ps=true;}	    
	    }
	    else
	    {
	        if(list_ps[playstate-1]!=100){if(list_ps[playstate]==100){list_ps[playstate]=playstate;re_ps=true;}}  
	    }            	
		if(re_ps)
	    {   
			var logdata="http://stat9.vodone.com/VodoneLog/VodPlayServlet?servertype="+servertype_log+"&playtype="+playtype_log+"&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&pageid="+pageid_log+"&playstate="+playstate+"&playtime="+playstate+"&playmode="+playmode_log+"&id="+Math.random();
			if(playtype_log==1)
			{			
				logdata="http://stat9.vodone.com/VodoneLog/LivePlayServlet?servertype="+servertype_log+"&playtype="+playtype_log+"&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&pageid="+pageid_log+"&playstate="+playstate+"&playtime=0&playmode="+playmode_log+"&id="+Math.random();
			}				
			if(playstate==1){submitLog("PlayStateImg1",logdata);}else{submitLog("PlayStateImg2",logdata);}								
		}		
	    re_ps=false;
   }
}
var oldtotalTime=0;
var newtimecount=0;
function addTimelog_ps()
{  
	var logdata="http://stat9.vodone.com/VodoneLog/VodPlayServlet?servertype="+servertype_log+"&playtype=0&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&pageid="+pageid_log+"&playstate=3&playmode="+playmode_log+"&playtime="+newtimecount+"&id="+Math.random();
	if(playtype_log==1)
	{			
		logdata="http://stat9.vodone.com/VodoneLog/LivePlayServlet?servertype="+servertype_log+"&playtype=0&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&pageid="+pageid_log+"&playstate=3&playmode="+playmode_log+"&playtime="+newtimecount+"&id="+Math.random();
	}					
	submitLog("PlayStateImg2",logdata);		
}

function addTimer(interval)
{
	var t=5*60;
	newtimecount=newtimecount+interval;//记录用户播放时间	
	if(newtimecount-oldtotalTime>t)
	{
		addTimelog_ps();
		oldtotalTime=newtimecount;
	}
}

//[检查WMV播放器的播放状态]
var ostate_ws=0;
var isstartedplaying=false;
function ReportWMVStateChange(nstate_ws)
{   
	var playurl_ws="-";    //播放地址 	
	if(isstartedplaying)
	{
	   if(ostate_ws!=nstate_ws)
		{			
			var logdata="http://stat9.vodone.com/VodoneLog/WMVStateServlet?servertype="+servertype_log+"&playtype="+playtype_log+"&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&pageid="+pageid_log+"&playurl="+playurl_ws+"&oldplaystate="+ostate_ws+"&newplaystate="+nstate_ws+"&id="+Math.random();
			submitLog("WMVStateImg",logdata);			
		} 
	}	  
	if(nstate_ws==3)
	{
	  isstartedplaying=true;
	}	
	ostate_ws=nstate_ws;
}
//确保只有开始播放后才调用接口
var  statecount=0;
function ReportWMVStateChangeMonitor()
{
  var objplay=document.getElementById(playerid_log);
  var state=objplay.playState;
  if(state==3){statecount++;}  
  if(statecount<3){return false;}
  if((state==6)||(state==9)){ReportWMVStateChange(6);}      
  if(state==1){ReportWMVStateChange(1);} 
  if(state==2){ReportWMVStateChange(2);}
  if(state==3){ReportWMVStateChange(3);}  
}

//[播放失败状态报告]
var isreportErrorTag=false;
function ReportErrorPlayState()
{       
    if(!isreportErrorTag)
	{
		var playurl_ws="-";  
		isreportErrorTag=true;
		var logdata="http://stat9.vodone.com/VodoneLog/ErrorStateServlet?servertype="+servertype_log+"&playtype="+playtype_log+"&refurl="+rurl_log+"&locurl="+lurl_log+"&contentid="+contentid_log+"&catalogcode="+catalogcode_log+"&playurl="+playurl_ws;
		submitLog("ERRStateImg",logdata);		
	}
}


//****************************************************************//
//******** 【检查播放器的状态，控制按钮和层的切换】    ***********//
//****************************************************************//
var playOldState=0;
var playNewState=0;
var playStateMessage="";
var reconnectnum=0;
function checkMainPlayerState()
{ 
	   try
	   {		
		    setPlayTime();

		    if(sysstate_vo!=2)
		    {
			   $_po().settings.mute ="true";		
			}
			else
		    {					  
			   SetVoice_vo(); 
			   $_po().settings.mute =mutestate_vo;			   
			  // ReportWMVStateChangeMonitor();
			}			
			playNewState=wmplayer.playState;			
	        if (playNewState==10)
			{
			   reconnectnum++;
			   if(reconnectnum>=20)
			   {
				ReportErrorPlayState();
			   }
			   $_po().Controls.play();//连接失败,执行重连								    
			}	
			if(playNewState==1)
			{   
				if(playStateMessage!="stop"){playStateMessage="stop";}//播放停止 
				setBufferStatus(0);
			}			
			if(playNewState==2) 
			{   
				if(playStateMessage!="pause"){playStateMessage="pause";}//播放暂停	
			}
			if(playNewState==3) //正在播放
			{    	
				setBufferStatus(100);
				if(playStateMessage!="play")
				{ 		  
					if((playOldState==3)||(playOldState==6))
					{ 	
						ShowImgCoverLayer(false);					
						playStateMessage="play";
						addlog_ps(1);		
						
					}					
				}              			
				addTimer(0.5);					
			}					
		   playOldState=playNewState;		
	}
	catch(e)
	{
		
	}	
}

function ExcutePlay()
{
  initFrameWinLayer_vo();
  initMainPlayer_vo(); 
  initImgCover_vo();
  Play_vo();
  initlog_ps(isusep2p_vo);
  addlog_ps(0);  
  setBufferStatus(0);
  sysstate_vo=2;		
  $_vo("FlashPlayerDiv").style.display="none";	
  $_vo("MainPlayerDiv").style.display="block";
  window.setInterval(checkMainPlayerState,500);
}

ExcutePlay();
//{控制条的Flash事件}
function newSetVoiceNum_vo(args)
{
	voicenum_vo=args;
	if(sysstate_vo!=2)
	{
		if(voicenum_vo<10)
		{
		 voicenum_vo=10;
		}
	}
	
	setFlashVoice_vo(voicenum_vo);
}

function getIsEnableMute_vo()
{
    if(sysstate_vo!=2)
	{
		return false;
	}
	else
	{
	    return true;
	}
}


function fullScreenMode(type)
{
	if(isusep2p_vo==1)
	{
		if(type)
		{
			SetVideoSize_vo(true);
		}else
		{
			SetVideoSize_vo(false);
		}
	}
	else
    {
		if(type)
		{
			SetVideoSize_vo(true);
			if($_po().URL!=asxurl_f)
			{		
				ShowImgCoverLayer(true);
				playStateMessage="";
				$_po().URL=asxurl_f;	
	            $_po().Controls.play();		
			}				
		}
		else
		{
			SetVideoSize_vo(false);
		}		
	}
}

function isP2P()
{

   if(isusep2p_vo==0)
   {
	   return false;
   }
   else
   {
	   return true;
    }
}
function setPlayStatus(type)
{
	switch(type){
		case "PLAY":
			Play_vo();
			break;
		case "PAUSE":
			Stop_vo();
			break;
		case "STOP":
			Stop_vo();
			break;
		case "P2P":
			ChangePlayMode_vo();
			break;
		case "NORMAL":
			ChangePlayMode_vo();
			break;			
	}
}

function setSoundVol(vol)
{
	voicenum_vo=vol;	
}

function setBufferStatus(num)
{
	try
	{
    thisSwfMovie().setBufferStatus(num);
	}catch(e)
	{	
	}  
}

function setPlayTime()
{ 
	try
	{
    thisSwfMovie().setPlayTime(getNowDuration());
	}catch(e)
	{		
	}  
}




	  
