﻿var mplayer=null;
var rmp=null;
var wmp=null;
var progressID = 0;
var playerType = 0;
var extent = "";

function killErrors(){
	return true;
}
function kill_beforeunload()
{
	flp_stop();
}

function flp_play(__url)
{
	mplayer = designer;
	flp_stop();
	extent=__url.substr(__url.lastIndexOf("."));
	if(progressID!=null);
	{
		clearInterval(progressID);
		progressID = null;
	}
	switch(extent.toLowerCase())
	{
		case ".mp3":
		case ".wmv":
		case ".wma":
			playerType = 1;
			wmp.url=__url;
			wmp.controls.play();
		break;
		case ".rm":
			if(rmp)
			{
				playerType = 2;
				rmp.SetSource(__url);
				rmp.DoPlay();
				progressID=setInterval("rmp_progress()", 500);
			}
			else
			{
				mplayer.playstatechanged("error");
			}			
		break;
	}	
}

function flp_resume()
{
	if(playerType==1)
		wmp.controls.play();
	if(playerType==2)
		rmp.DoPlay();
}
function flp_stop()
{
	if(playerType==1)
		wmp.controls.stop();
	if(playerType==2)
		rmp.DoStop();
 }

function flp_pause()
{
	if(playerType==1)
		wmp.controls.pause();
	if(playerType==2)
		rmp.DoPause();
}
function flp_setvolume(__value)
{
	if(playerType==1)
	 	wmp.settings.volume =__value*100;
	if(playerType==2)
		rmp.SetVolume(Math.floor(__value)*100)
}
function flp_seek(__pos)
{
	if(playerType==1)
		wmp.controls.currentPosition=__pos*wmp.currentMedia.duration;
	if(playerType==2)
		rmp.SetPosition(__pos*rmp.GetLength());
}
function wmp_buffering(start)
{
	if(true == start)
	{
		if(!progressID)
			progressID=setInterval("wmp_progress()",500);
	}
}
function wmp_playstatechange(i)
{
	var state=["","stop","pause","playing","forward","backward","buffer","waiting","over","change","ready"];
	try
	{
		if(i>=1 && i<=10)
		{
			mplayer.playstatechanged(state[i]);
		}
	}
	catch(err){}
}
function wmp_progress()
{		
	mplayer.setprogress(wmp.controls.currentPosition,
	wmp.currentMedia.duration,
	wmp.network.bufferingProgress,
	wmp.network.downloadProgress);
}
function wmp_error()
{
	wmp.Error.clearErrorQueue();
	mplayer.playstatechanged("error");
}
function rmp_playstatechange(newstate)
{
	if(newstate==0)
	{
		if(progressID!=null);
		{
			clearInterval(progressID);
			progressID = null;
		}
		mplayer.playstatechanged("over");
    }
}
function rmp_progress()
{
	var state=["stop","connect","buffer","playing","pause","seeking","busy"];
	var i = rmp.GetPlayState();	
	if(i>-1 && i<7)
		mplayer.playstatechanged(state[i]);
	mplayer.setprogress(rmp.GetPosition(),rmp.GetLength(),0,0);
}

function mplayer_start()
{
	window.onunload=kill_beforeunload;

	document.write("<object classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" id=\"wmp\" type=\"application/x-oleobject\" style=\"display:none;\">");//
	document.write("    <param name=\"autoStart\" value=\"false\">");
	document.write("    <param name=\"balance\" value=\"0\">");
	document.write("    <param name=\"baseURL\" value=\"\">");
	document.write("    <param name=\"currentPosition\" value=\"0\">");
	document.write("    <param name=\"currentMarker\" value=\"0\">");
	document.write("    <param name=\"enableContextMenu\" value=\"true\">");
	document.write("    <param name=\"enableErrorDialogs\" value=\"false\">");
	document.write("    <param name=\"fullScreen\" value=\"false\">");
	document.write("    <param name=\"invokeURLs\" value=\"false\">");
	document.write("    <param name=\"mute\" value=\"false\">");
	document.write("    <param name=\"playCount\" value=\"100\">");
	document.write("    <param name=\"rate\" value=\"1\">");
	document.write("    <param name=\"uiMode\" value=\"none\">");
	document.write("    <param name=\"volume\" value=\"100\">");
	document.write("</object>");

	document.write("<object id=\"rmp\" style=\"display:none;\" classid=\"CLSID:");//
	document.write("CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA\">");
	document.write("<param name=\"_ExtentX\" value=\"9657\"/>");
	document.write("<param name=\"_ExtentY\" value=\"847\"/>");
	document.write("<param name=\"AUTOSTART\" value=\"0\"/>");
	document.write("<param name=\"SHUFFLE\" value=\"0\"/>");
	document.write("<param name=\"PREFETCH\" value=\"0\"/>");
	document.write("<param name=\"NOLABELS\" value=\"0\"/>");
	document.write("<param name=\"CONTROLS\" value=\"StatusBar,controlpanel\"/>");
	document.write("<param name=\"CONSOLE\" value=\"Clip1\"/>");
	document.write("<param name=\"LOOP\" value=\"0\"/>");
	document.write("<param name=\"NUMLOOP\" value=\"0\"/>");
	document.write("<param name=\"CENTER\" value=\"0\"/>");
	document.write("<param name=\"MAINTAINASPECT\" value=\"0\"/>");
	document.write("<param name=\"BACKGROUNDCOLOR\" value=\"#000000\"/>");
	document.write("</object>");
	
	document.write("<scr"+"ipt type=\"text/javascript\" language=\"JavaScript\" for=\"wmp\" event=\"playStateChange(ns)\">wmp_playstatechange(ns);</scr"+"ipt>");
	document.write("<scr"+"ipt type=\"text/javascript\" language=\"JavaScript\" for=\"wmp\" event=\"buffering(Start)\">wmp_buffering(Start);</scr"+"ipt>");
	document.write("<scr"+"ipt type=\"text/javascript\" language=\"JavaScript\" for=\"wmp\" event=\"error()\">wmp_error();</scr"+"ipt>");
	document.write("<scr"+"ipt type=\"text/javascript\" language=\"JavaScript\" for=\"rmp\" event=\"OnPlayStateChange(newstate)\">rmp_playstatechange(newstate);</scr"+"ipt>");

	rmp=document.getElementById("rmp");
	wmp=document.getElementById("wmp");
	try
	{
		if(rmp)
			rmp.SetWantErrors(true);
	}
	catch(err)
	{ 
	    rmp = null;
	}	
}

