﻿// Nguyen Viet Tien, 12/10/2007
var currentTrack;
var preTrack;
var basePlayURL = "stream"; 
var media = "Top1MusicMedia";
var tableDnD ;
var orderPlay = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30);
var playlist;
var playingIndexInOrder = 0;
var autoNext=false;
var nextTrack;
var rowIsPlaying = 1;

//Set value for browser type
var bWin32IE;

if ((navigator.userAgent.indexOf("IE") > -1) && (navigator.platform == "Win32")) {
    bWin32IE = true;
} else {
    bWin32IE = false;
}

function getMediaPath(folder,track) {
    
    return "http://music.top1.vn/stream/" + folder + "/" + track+".htm";
}
//functions to controls media player

function mediaPlay() { 
    document.getElementById(media).controls.play();
}
function mediaStop() {
    document.getElementById(media).controls.stop();
}
function mediaPause() {
    document.getElementById(media).controls.pause();
}
function mediaEnded() {
	mediaNext();
}

// Change currTrack to next track

function mediaNext() {
    autoNext=true;
     playTrack(auth,orderPlay[playingIndexInOrder+1]);
     playingIndexInOrder++;
}
function mediaError()
{
    mediaNext();
}

var playingIconPath = 'http://music.top1.vn/Website/images/css/icons/pls.gif';
var loadingIconPath = 'http://music.top1.vn/Website/images/css/icons/loading.gif';
var stoppedIconPath = 'http://music.top1.vn/Website/images/css/icons/music.gif';
var subcatIconPath1 = 'http://music.top1.vn/Website/images/hot100degree/subcat.gif';
var subcatIconPath2 = 'http://music.top1.vn/Website/images/hot100degree/subcat2.gif';

function updatePlayStatusIcon(track, status) {
    playStatusIconId = 'track_'+track+'_play_status_icon';
    var playStatusIconElement = document.getElementById(playStatusIconId);
    if (playStatusIconElement!=null) {
    if (status==3) playStatusIconElement.src = playingIconPath;
    else if ((status==6)||(status==7)||(status==9)){ playStatusIconElement.src = loadingIconPath; }
    else playStatusIconElement.src = stoppedIconPath;
    }
}

function updateGenreStatusIcon(genreid, status) {   
    if(genreid>1)
    {
        var i;
        
        for (i=2;i<genreid;i=i+1) 
        {
            var pre = 'genre_hot_'+(i-1);
            var playStatusIconElementPre = document.getElementById(pre);
            if(playStatusIconElementPre!=null)
                playStatusIconElementPre.src = subcatIconPath1;
        }               
    }

    playStatusIconId = 'genre_hot_'+genreid;
    var playStatusIconElement = document.getElementById(playStatusIconId);        
    if (playStatusIconElement!=null) {
    if (status==1) playStatusIconElement.src = subcatIconPath2;   
    else playStatusIconElement.src = subcatIconPath1;
    }
}

function updateTrackInfo(track) {
    songName='track_'+track+'_song_name';
    genreName='track_'+track+'_genre_name';
  
    var albumInfo='';      
    albumInfo+= '<div style="height: 70px; width: 200px" class="fr">';
    albumInfo+=  ' <span class="f-gray f-11"><a class="f-orange f-bold">';
    albumInfo+=  ' <span class="f-FFF f-bold f-13" id="song_name">'+document.getElementById(songName).value+'</span></a><br />';
    
    albumInfo+=  '<a id="album_link"><span id="album_name">Đang cập nhật</span></a><br>';
    albumInfo+=  ' </span>';
    albumInfo+=  ' <div class="divider">';
    albumInfo+=  ' </div>';
    albumInfo+=   '<div class="f-FFF f-11">';
    albumInfo+=       'Thể hiện :<a id="artist_link"><span id="artist_name">Đang cập nhật</span> </a>';//alert(albumInfo);
    albumInfo+=      ' <a class="f-orange">';
    albumInfo+=          '<div class="divider">';
    albumInfo+=          '</div>';
    albumInfo+=         ' Giới thiệu</a> | <a class="f-orange" id="album_song_link">Các album và bài hát';
    albumInfo+=             ' khác</a>';
    albumInfo+=  ' </div>';
    albumInfo+=  '  <div class="divider">';
    albumInfo+=  '</div>';
    albumInfo+= '  <div class="f-FFF f-11">';
    albumInfo+=      'Thể loại :<a id="genre_link"><span id="genre_name">'+document.getElementById(genreName).value+'</span></a>';
    albumInfo+=  ' </div>';
    albumInfo+=  ' </div>';
        
    document.getElementById('artist_123').innerHTML=albumInfo;
    
	var iconInfo='';    
	
    iconInfo+='<table cellpadding="1" cellspacing="1" align="center" width="100%">';
    iconInfo+='<tr><td width="25%" align="center"><a href="http://music.top1.vn/topdownload/'+track+'.htm">';
    iconInfo+='<img border="0" src="http://music.top1.vn/Website/images/css/buttons/hompqage.gif" alt="" /></a>';
    iconInfo+='</td><td width="25%" align="center"><a href="javascript:openPlayList('+track+');"><img src="http://music.top1.vn/Website/images/css/buttons/addplaylist.gif"></a>';
    iconInfo+='</td>';
    iconInfo+='<td width="25%" align="center">';
    iconInfo+='<a href="javascript:sendEmail('+track+');"><img src="http://music.top1.vn/Website/images/css/buttons/emiail.gif"></a>';
    iconInfo+='</td><td width="25%" align="center"><a href="javascript:errorMessage('+track+');">';
    iconInfo+='<img alt="Báo lỗi ca khúc này!" src="http://music.top1.vn/Website/images/css/icons/err.gif"></a></td></tr></table>';
   
   document.getElementById('iconinfo').innerHTML=iconInfo;
}

var auth;

function playTrack(folder, order) {
    if (document.getElementById('track_item_'+(order-1))==null) order = 1;
    auth=folder;
    track=document.getElementById('track_item_'+(order-1)).value;
    currentTrack = track;
    if (bWin32IE) {
        mediaStop();
        document.getElementById(media).URL = "http://music.top1.vn/stream/" + folder + "/" + currentTrack+".htm";
        document.getElementById(media).scr = "http://music.top1.vn/stream/" + folder + "/" + currentTrack+".htm";
        mediaPlay();
    } else {
        document.getElementById('mediaPlayerDiv').innerHTML = buildMediaToPlay(getMediaPath(folder, currentTrack));
        updatePlayStatusIcon(currentTrack, 3);
    }
    if (preTrack!=null) {
        updatePlayStatusIcon(preTrack, 1);
    }

    updateTrackInfo(currentTrack);

    if (!autoNext) {
        for (i=0;i<orderPlay.length;i++) {
            if (order==orderPlay[i]) {
            playingIndexInOrder=i;
            }
        }
    }
    autoNext=false;
}

// Dùng để play trong firefox

function buildMediaToPlay11(playingPath) {
    tag = '<OBJECT ID="Top1MusicMedia" width=320 height=312 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
            tag += '  <PARAM name="URL" value="'+playingPath+'">';
            tag += '  <PARAM name="DisplaySize" value="0">'
            tag += '  <PARAM NAME="ShowControls" VALUE="1">'
            tag += '  <PARAM NAME="ShowDisplay" VALUE="0">'
            tag += '  <PARAM NAME="ShowStatusBar" VALUE="{if $USER_UPLOADED}0{else}1{/if}">'
            tag += '  <PARAM NAME="AutoStart" VALUE="TRUE">'
            tag += '  <PARAM NAME="InvokeURLS" Value="False">'
            tag += '  <PARAM NAME="WindowlessVideo" Value="TRUE">'
            tag += '  <embed width="320" height="312" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" src="'+playingPath+'" ShowControls="1" AutoStart="True" ShowDisplay="0" ShowStatusBar="1"></embed>'
    tag += '</object>';
    return tag;
} 


// switchState function
//0	The playback state is undefined.
//1	Playback is stopped.
//2	Playback is paused.
//3	The player is playing a stream.
//4	The player is scanning a stream forward.
//5	The player is scanning a stream in reverse.
//6	The player is buffering media.
//7	The player is waiting for streaming data.
//8	The player has reached the end of the media.
//9	The player is preparing new media.
//10 The player is ready to begin playback.

// switch for the player current state, display a image icon for each.

function cell_0(track_id,thinhTrackName,thinhGenerName) {    
    html = '';
    html+=        '<input id="track_'+track_id+'_album_name" type="hidden" value="Đang cập nhật" />';
    html+=        '<input id="track_'+track_id+'_artist_name" type="hidden" value="Đang cập nhật" />';
    html+=        '<input id="track_'+track_id+'_genre_name" type="hidden" value="'+thinhGenerName+'" />';    
    html+=        '<input id="track_'+track_id+'_song_name" type="hidden" value="'+thinhTrackName+'" />';  
    html+=        '<img src="http://music.top1.vn/WebSite/images/css/icons/music.gif" id="track_'+track_id+'_play_status_icon">';                           
    return html;
}
  
function cell_1 (auth, rowNumber,thinhTrackName,thinhGenerName) {
      
     html = '<a class="f-bold"  href="javascript:playTrack(\''+auth+'\',\''+rowNumber+'\')">'+thinhTrackName+'</a> - <a class="f-11">'+thinhGenerName+'</a>'; 
     return html;
}
function cell_2 (auth, rowNumber) {
    html='';
    html+=        '<a target="_self" href="#" onclick=" " class="fr mr-5 mt-1" >';
    html+=            '<img src="'+auth+'" width="50px" height="30px" onclick="playTrack(\''+auth+'\',\''+rowNumber+'\')">';
    html+=        '</a>';
    return html;
}

// Tien moi them vao

function media_DoFSCommand(command, args)
{
	if (command=='mediaPlay')
		mediaPlay();
	else if (command=='mediaStop')
		mediaStop();
	else if (command=='mediaPause')
		mediaPause();
	else if (command=='mediaReverse')
		mediaReverse();
	else if (command=='mediaForward')
		mediaForward();
	else if (command=='mediaVolume')
		mediaVolume(args);
	else if (command=='mediaPresent')
		mediaPresent();	
}


