function SF(func) { try { if(eval('window.' + func) != null) { return true; } else { return false; } } catch(e) { alert('Failed exec:'+code+'\r\n'+e.description); } return false; }function GE(v) { if(document.all) { return document.all[v]; } return document.getElementById(v); }
//*******************************************
function clpup(item, id)
{
    if(event != null && event.button > 1)
        return;

    if(item.clipid == null)
    {
        var len = document.all.length;
        var fnd = false;
        
        for(var x = 0; x < len; x++)
        {
            var ele = document.all[x];
            
            if(ele.tagName.toLowerCase() == "a" && ele.clipid == id)
            {
                item = ele;
                fnd = true;
                break;
            }
        }
        
        if(fnd == false)
            return;
    }
    
    if(item == CurrentPlayImage)
    {
        var tmp = CurrentPlayImage.children[0].alt;
        tmp = tmp.replace("Stop", "Play");

        CurrentPlayImage.children[0].alt = tmp;

        GE('ClipPlayer').controls.stop();
        GE('ClipPlayer').settings.setMode("loop", wmplp);
        GE('ClipPlayer').settings.setMode("shuffle", wmpsh);

        CurrentPlayImage = null;
        clpot(item);
        
        return;
    }
    
    if(CurrentPlayImage != null)
    {
        var tmp = CurrentPlayImage;
        var tmps = CurrentPlayImage.children[0].alt;
        tmps = tmps.replace("Stop", "Play");

        GE('ClipPlayer').settings.setMode("loop", wmplp);
        GE('ClipPlayer').settings.setMode("shuffle", wmpsh);

        CurrentPlayImage.children[0].alt = tmps;
        CurrentPlayImage = null;
        clpot(tmp);
    }

    CurrentPlayImage = item;
    clpot(item);
    PlayClip(item.clipurl, id);
}

function clpdn(item)
{
    if(event != null && event.button > 1)
        return;

    if(item == CurrentPlayImage)
    {
        if(CurrentPlayImage.children[0].isLoading != true)
            CurrentPlayImage.children[0].src = imgPre + "player/bt_stop_d.gif";
    }
    else if(item.children[0]) 
        item.children[0].src = imgPre + "player/bt_play_d.gif";
}

function clpot(item)
{
    if(item == CurrentPlayImage)
    {
        if(CurrentPlayImage.children[0].isLoading != true)
            CurrentPlayImage.children[0].src = imgPre + "player/bt_stop.gif";
    }
    else if(item.children[0])
        item.children[0].src = imgPre + "player/bt_play.gif";
}


function clpov(item)
{
    if(item == CurrentPlayImage)
    {
        if(CurrentPlayImage.children[0].isLoading != true)
            CurrentPlayImage.children[0].src = imgPre + "player/bt_stop_o.gif";
    }
    else if(item.children[0]) 
        item.children[0].src = imgPre + "player/bt_play_o.gif";
}
function CheckWmp10()
{
    try
    {
        var ver = GetWmpVer();
        var idx = -1;
        
        if(ver != null && ver.length > 0)
            idx = ver.indexOf(".");

        if(idx != -1 && ver.substr(0, idx) == "10")
            return true;
    }
    catch(e)
    {
    }
            
    return false;
}
function GetWmpVer()
{
    try
    {
        var obj = new ActiveXObject("WMPlayer.OCX");

        if(obj != null)
            return obj.versionInfo;
    }
    catch(e)
    {
    }
        
    return null;
}
// Clips in page code
var CurrentPlayImage;
var timeHandle = -1;
var skipFlag = 0;

function StopPlayer()
{
    if(GE('ClipPlayer') != null)
    {
        GE('ClipPlayer').controls.stop();
        GE('ClipPlayer').settings.setMode("loop", wmplp);
        GE('ClipPlayer').settings.setMode("shuffle", wmpsh);
    }
        
    if(CurrentPlayImage != null)
    {
        var item = CurrentPlayImage;

        var tmp = CurrentPlayImage.children[0].alt;
        tmp = tmp.replace("Stop", "Play");

        CurrentPlayImage.children[0].alt = tmp;
        
        CurrentPlayImage = null;
        clpot(item);
    }
}
function StopPlayerNow()
{
    skipFlag = 1;
    
    if(GE('ClipPlayer') != null)
    {
        GE('ClipPlayer').controls.stop();
        GE('ClipPlayer').settings.setMode("loop", wmplp);
        GE('ClipPlayer').settings.setMode("shuffle", wmpsh);
    }
}
function ClipPlayState(NewState)
{
    if(skipFlag == 1)
        return;
        
    if(timeHandle != -1)
    {
        window.clearTimeout(timeHandle);
        timeHandle = -1;
    }
    
    if(NewState == 3 && CurrentPlayImage != null)
    {
        CurrentPlayImage.children[0].isLoading = false;
        CurrentPlayImage.children[0].src = imgPre + "player/bt_stop.gif";

        var tmp = CurrentPlayImage.children[0].alt;
        tmp = tmp.replace("Play", "Stop");

        CurrentPlayImage.children[0].alt = tmp;
    }
    
    if(NewState == 1)
        StopPlayer();
        
    if(NewState == 10 && CurrentPlayImage != null)
    {
        timeHandle = window.setTimeout(StopPlayer, 1000);
    }
}
function CreatePlayer(redir)
{
    if(GE('ClipPlayer') == null)
    {
        try
        {
            var doc = GE("clipSpan");
            var tag = '<object id="ClipPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="0" height="0">';
            tag += '<param name="autoStart" value="true">';
            tag += '<param name="volume" value="50">';
            tag += '<param name="uimode" value="invisible">';
            tag += '<param name="enableContextMenu" value="false">';
            tag += '</object>';
            tag += '<script for="ClipPlayer" event="PlayStateChange(NewState)" language="javascript">ClipPlayState(NewState);</script>';
            tag += '<script for="ClipPlayer" event="error()" language="javascript">StopPlayer();</script>';
            
            doc.innerHTML = tag;
            doc.style.display = 'none';
            
            var idx = -1;
            var ver = GE('ClipPlayer').versionInfo;

            if(ver != null && ver.length > 0)
            {
                idx = ver.indexOf(".");
            }
            else
            {
                throw "wrong version";
            }

            if(idx != -1 && parseInt(ver.substr(0, idx)) < 7)
            {
                throw "wrong version";
            }
        }
        catch(e)
        {
            if(redir == true)
//                location.href = "/help/requirements.asp";
                
            return;
        }
    }
}

function CreateWMP7Player(redir,mode)
{
	var height = 45;
	if (mode == "Movie") height = 400;
    if(GE('MediaPlayer') == null)
    {
        try
        {
            var doc = GE("mediaSpan");
			var tag = '<object id="MediaPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="100%" height="' + height + '">';
			tag += '<param name=PlayCount value=3>';
			tag += '<param name="volume" value="50">';
			tag += '<param name="enableContextMenu" value="false">';
			tag += '<param name="BufferingTime" value="50">';
			tag += '</object>';
            tag += '<script for="MediaPlayer" event="PlayStateChange(NewState)" language="javascript">ClipPlayState(NewState); if(NewState == 3) PlayingInit();</script>';
            tag += '<script for="MediaPlayer" event="error()" language="javascript">StopPlayer();</script>';
            
            doc.innerHTML = tag;
            doc.style.display = 'inline-table';
            
            var idx = -1;
            var ver = GE('MediaPlayer').versionInfo;

            if(ver != null && ver.length > 0)
            {
                idx = ver.indexOf(".");
            }
            else
            {
                throw "wrong version";
            }

            if(idx != -1 && parseInt(ver.substr(0, idx)) < 7)
            {
                throw "wrong version";
            }
        }
        catch(e)
        {
            if(redir == true)
//                location.href = "/help/requirements.asp";
                
            return;
        }
    }
}
function CreateWMP64Player(url,mode)
{
	var height = 45;
	if (mode == "Movie") height = 400;

	var tag="";
	tag +=  ('<Embed type="application/x-mplayer2" ');
	tag +=  ('pluginspage= ');
	tag +=  ('"http://www.microsoft.com/Windows/MediaPlayer/" ');
	tag +=  ('src="'+url+'" ');
	tag +=  ('id=MediaPlayer ');
	tag +=  ('transparentAtStart=0 ');
	tag +=  ('autostart=1 ');
	tag +=  ('playcount=3 ');
	tag +=  ('enableContextMenu=0 ');
	tag +=  ('volume=100');
	tag +=  ('animationAtStart=0 ');
	tag +=  ('width="100%" height="' + height + '" ');	
	tag +=  ('displaySize=0></embed> ');
	
	return tag;
}
function CreatePlaylistPlayer(redir)
{
    if(GE('MediaPlayer') == null)
    {
        try
        {
            var doc = GE("mediaSpan");
			var tag = '<object id="MediaPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="100%" height="46">';
			tag += '<param name=PlayCount value=3>';
			tag += '<param name="volume" value="50">';
			tag += '<param name="enableContextMenu" value="true">';
			tag += '<param name="BufferingTime" value="50">';
			tag += '</object>';
			
            tag += '<script for="MediaPlayer" event="PlayStateChange(NewState)" language="javascript">ClipPlayState(NewState);</script>';
            tag += '<script for="MediaPlayer" event="error()" language="javascript">StopPlayer();</script>';
            
            doc.innerHTML = tag;
            doc.style.display = 'inline-table';
            
            var idx = -1;
            var ver = GE('MediaPlayer').versionInfo;

            if(ver != null && ver.length > 0)
            {
                idx = ver.indexOf(".");
            }
            else
            {
                throw "wrong version";
            }

            if(idx != -1 && parseInt(ver.substr(0, idx)) < 7)
            {
                throw "wrong version";
            }
        }
        catch(e)
        {
            if(redir == true)
//                location.href = "/help/requirements.asp";
                
            return;
        }
    }
}

var wmplp = false;
var wmpsh = false;

function AutoPlayClip(url)
{
    var ids = url.match(/song\=(\d+)/);
    if (ids != null && ids.length > 0)
    {
        var id = ids[1];
        var item = GE('clp_'+id);
        if (item != null)
        {
            clpup(item, id);
        }
    }
}
function PlayClip(url, id)
{
    if(CurrentPlayImage.children[0]) 
    {
        CurrentPlayImage.children[0].isLoading = true;
        CurrentPlayImage.children[0].src = imgPre + "player/bt_load.gif";
    }
    
    var cp = GE('ClipPlayer');
    if(cp == null)
    {
        CreatePlayer(true);
        cp = GE('ClipPlayer');
    }
    
    if(!CheckWmp10())
        window.onbeforeunload = StopPlayerNow;

    if(cp != null)
    {
        wmplp = cp.settings.getMode("loop");
        wmpsh = cp.settings.getMode("shuffle");
        cp.settings.setMode("loop", false);
        cp.settings.setMode("shuffle", false);
        cp.URL = url;
        //cp.controls.play(); //bug 23931 >set autostart true and give url.never say play.
    }
}

function PlayMedia(url, id)
{	
		document.write(CreateWMP64Player(Decode(url),"Audio"));
		var cp = GE('MediaPlayer');
		cp.URL = Decode(url);
		//cp.controls.play();
}

function PlayAlbum(url, id)
{
		
		if (GetWmpVer() != null) var ver = parseInt(GetWmpVer().split(".")[0]);
		if (ver >= 9) {
			var cp = GE('MediaPlayer');
			if(cp == null)
			{
				CreateWMP7Player(true,"Audio");
				cp = GE('MediaPlayer');
			}
			
			if(!CheckWmp10())
				window.onbeforeunload = StopPlayerNow;
		
			if(cp != null)
			{	
				cp.URL = url;
				cp.controls.stop(); //bug 23931 >set autostart true and give url.never say play.
			}
		}
		else {
		document.write(CreateWMP64Player(url));
		var cp = GE('MediaPlayer');
		cp.URL = url;
		cp.controls.stop();
		}
}

function PlayVideo(url, id)
{
	/*if ( navigator.appName != "Netscape" ) {
		var cp = GE('MediaPlayer');
		if(cp == null)
		{
			CreateWMP7Player(true,"Movie");
			cp = GE('MediaPlayer');
		}
		
		if(!CheckWmp10())
			window.onbeforeunload = StopPlayerNow;
	
		if(cp != null)
		{	
		    if (GetWmpVer() != null) var ver = parseInt(GetWmpVer().split(".")[0]);
		    if (ver >= 9)
				cp.FileName = url;
			else/
				cp.URL = url;
			cp.controls.play(); //bug 23931 >set autostart true and give url.never say play.
		}
	}
	*/
	//else {
		document.write(CreateWMP64Player(Decode(url),"Movie"));
		var cp = GE('MediaPlayer');
		cp.URL = Decode(url);
		cp.controls.play();
	//}
}

function PlayPlaylists(url, id)
{
    var cp = GE('MediaPlayer');
    if(cp == null)
    {
        CreatePlaylistPlayer(true);
        cp = GE('MediaPlayer');
    }
    
    if(!CheckWmp10())
        window.onbeforeunload = StopPlayerNow;

    if(cp != null)
    {	
		cp.URL = url;
        cp.controls.play(); //bug 23931 >set autostart true and give url.never say play.
    }
}
function playItem(no)
{
	var cp = GE('MediaPlayer');
	cp.controls.stop();
	//cp.controls.play();
	
	
	// Declare a variable to hold the position of the media item 
	// in the current playlist. An arbitrary value is supplied here.
	var index = no
	
	// Retrieve the media item at the fourth position in the current playlist.
	var media = cp.currentPlaylist.item(index);
	
	// Play the media item.
	cp.controls.playItem(media);
}
//New way to add/remove songs into/from Users' Playlist. Using Ajax Tech.
function PlaylistAnR(item, id)
{
    //Choi kieu BoTay.Com. Het cach roi!
    if (isLoadSuccess){
        Loading(1);
        xmlhttp.open("GET", "/lib/AjaxRes.asp?s=playlist&d=" + id,true);
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4) {
               isLoadSuccess = true;
               plFlags = xmlhttp.responseText;
                if (plFlags == "on" ) ChangeImage(item, "Themes/Black/images/btn_added.gif");
                if (plFlags == "off" ) ChangeImage(item, "Themes/Black/images/btn_add.gif");
            }
        }
        xmlhttp.send(null);
    }
    else
        return;
}

//Cauz I don't have enough time to update functions for playlist. So I still use the code below.
function addToPlaylist(id,sf)
{
	if (sf == 1) {
			plAddRemove.location="../include/playlist_add_remove.asp?a=add&d=" + id;
		}
	else {
			plAddRemove.location="include/playlist_add_remove.asp?a=add&d=" + id;
		}
	
	var item1 = GE('rpl_'+id);
	var item2 = GE('apl_'+id);
	item1.style.width = "0px";
	item1.style.height = "0px";
	
	item2.style.width = "16px";
	item2.style.height = "16px";
}

function removeFromPlaylist(id,sf)
{
	if (sf == 1) {
			plAddRemove.location="../include/playlist_add_remove.asp?a=delete&d=" + id;
		}
	else {
			plAddRemove.location="include/playlist_add_remove.asp?a=delete&d=" + id;
		}

	var item1 = GE('rpl_'+id);
	var item2 = GE('apl_'+id);
	item1.style.width = "16px";
	item1.style.height = "16px";
	
	item2.style.width = "0px";
	item2.style.height = "0px";
}