﻿// copyright www.tailenet.com

var checkState = "";
var drmFile = "http://cn.haihaisoft.com/download/media-drm-sample_p.wmv";
var nonDrmFile = "http://cn.haihaisoft.com/download/Diagnose.wma";

function CheckPlayerVersion()
{

	ShowScreen(divChecking);
	
	checkState = "CheckPlayerVersion";
	
	var result = true;
	
	if (null == Player)
	{
		result = false;
	}
	else
	{
		var version = Player.versionInfo.split(".");
		if (version[0] < 9)
		{
			result = false;
		}
	}
	
	if (result == true)
	{
		ShowScreen(divCheckWMPw);
		divCheckWMP.style.visibility = "visible";
	}
	else
	{
		ShowScreen(divLowVersion);
	}
	
	return result;
}

function ShowScreen(object)
{
	divLowVersion.style.visibility = "hidden";
	divChecking.style.visibility = "hidden";
	divCheckDRM.style.visibility = "hidden";
	divCheckWMPw.style.visibility = "hidden";
	divCheckWMP.style.visibility = "hidden";
	divCheckWMPw.style.visibility = "hidden";
	divCheckDRMw.style.visibility = "hidden";
	divDRMRepair.style.visibility = "hidden";
	divSuccess.style.visibility = "hidden";
	object.style.visibility = "visible";
}

function SetStatus(message)
{
	Status.innerText = message;
}

function ClearStatus()
{
	SetStatus("");
}

function PlayNoDRM()
{
	checkState = "PlayNoDRM";
	ShowScreen(divChecking);
	divCheckWMPw.style.visibility = "visible";
	
	ClearStatus();
	
	Player.URL = nonDrmFile;
	Player.controls.play(); 
}

function PlayDRM()
{
	checkState = "PlayDRM";
	ShowScreen(divChecking);
	divCheckDRMw.style.visibility = "visible";
	
	ClearStatus();
	
	Player.URL = drmFile;
	Player.controls.play(); 
}

function HandleopenStateChange()
{
	var statemap = new Array("Undefined",
							"PlaylistChanging",
							"PlaylistLocating",
							"PlaylistConnecting",
							"PlaylistLoading",
							"PlaylistOpening",
							"PlaylistOpenNoMedia",
							"PlaylistChanged",
							"MediaChanging",
							"MediaLocating",
							"MediaConnecting",
							"MediaLoading",
							"MediaOpening",
							"MediaOpen",
							"BeginCodecAcquisition",
							"EndCodecAcquisition",
							"BeginLicenseAcquisition",
							"EndLicenseAcquisition",
							"BeginIndividualization",
							"EndIndividualization",
							"MediaWaiting",
							"OpeningUnknownURL");
	var state;

	state = Player.openState;

	message = "The state is " + statemap[state] + " Number " + state;
	//SetStatus(message);

	if(statemap[state]=="BeginIndividualization")
	{
		//This block is executed if Individualization has begun. (This is after the user clicks OK 
		//on the pop-up indiv dialog.
		//InitializationStarted = true;
		SetStatus("开始安全组件升级...");
	}
	else if(statemap[state]=="EndIndividualization")
	{
		//Individualization has ended.  Assume it passed because the error event wasn't hit.
		//UpgradeCompleted();        
		SetStatus("完成安全组件升级...");
	}
	else if(statemap[state]=="BeginLicenseAcquisition")
	{
		SetStatus("正在申请许可证...");
		//alert("正在申请许可证...");
	}
	else if(statemap[state]=="EndLicenseAcquisition")
	{
		SetStatus("许可证申请完毕，等待播放...");
		//alert("许可证申请完毕，等待播放...");
	}
	else if(statemap[state]=="MediaOpen")
	{
		divChecking.style.visibility = "hidden";
		if (checkState == "PlayNoDRM")
		{
			ShowScreen(divCheckDRMw);
			divCheckDRM.style.visibility = "visible";
			SetStatus("检测成功，请继续第二步检测。");
		}
		else
		{
			SetStatus("检测成功，您的电脑可以正常播放受DRM保护的文件。\n请点击“关闭”按钮退出检测。");
			ShowScreen(divSuccess);
		}
	}
}    

function HandleError()
{
    var error = Player.error;
    var errorItem;
    var index;    
    var message;
    var drmInvalid = false;
            
    for(index=0; index<error.errorCount; index++)
    {
        errorItem = Player.error.item(index);
        if (errorItem.errorCode == -1072885286)
        {
			drmInvalid = true;
        }
        message = "\n错误代码：" + errorItem.errorCode + "\n详细信息：" + errorItem.errorDescription + "\n";
    }
    error.clearErrorQueue();    
    
    Player.controls.stop();
    Player.close();
    bPassed = false;

	if (drmInvalid == true)
	{
		ShowScreen(divDRMRepair);
	}
	else if( null != message )
    {
        //window.alert(message);    
        Status.innerText += "检测时遇到错误，请检查网络连接是否正常。" + message;
    }
}


