/* 搜索页 ******************** ******************************** */
var musicDir = "http://www.chenjiliang.com/Music/";

/* 搜索页（上传服务器请注释掉本地路径） ******************************** */
//musicDir = "http://localhost:8888/Music/";

var searchPage = musicDir + "Search.aspx";
var hotSongPage = musicDir + "SearchHotSong.aspx";

/* 最大历史记录数目 ******************** ******************************** */
var maxHistoryCount = 20;/* 是否连接当中 ******************** ******************************** */var _inPlayList = false;/* 添加到连播列表 ******************** ******************************** */function AddToPlayList(){    if (PlayerState.innerText != "正在播放")    {        alert("只有“正在播放”中的歌曲才能添加到连播列表。\n\n请重试。");        return;    }    var musicName = PlayingSong.innerText;    var musicUrl = WindowsMediaPlayerObject.URL;        var cell;    if (PlayListTable.rows.length > 1)    {        var deleteRowIndex = null;        for (var i = 1; i < PlayListTable.rows.length; i++)        {            if (PlayListTable.rows[i].cells[1].innerText == musicName)            {                deleteRowIndex = i;                break;            }        }        if (deleteRowIndex != null)        {            PlayListTable.deleteRow(deleteRowIndex);            AddToPlayList();            return;        }    }    var row = PlayListTable.insertRow(1);    //序号    cell = row.insertCell();
    cell.innerText = (PlayListTable.rows.length - 1).toString();
    //歌曲名称
    cell = AddCell(row, musicName, SearchMusicByCell);
    cell.setAttribute("musicUrl", musicUrl);
    //    AddCheckPlayListButton(row);    AddPlayListButton(row);    //上移    AddUpPlayListButton(row);    //下移    AddDownPlayListButton(row);    //删除    AddDeletePlayListButton(row);        while ((PlayListTable.rows.length - 1) > maxHistoryCount)
    {
        PlayListTable.deleteRow();
    }    Reorder(PlayListTable);    ResetBackColor(PlayListTable);    SwitchTab(PlayListTabTitle, "PlayListDiv");}function AddUpPlayListButton(row){    var cell = AddCell(row, "上移", UpPlayList);    return cell;}function AddDownPlayListButton(row){    var cell = AddCell(row, "下移", DownPlayList);    return cell;}function AddDeletePlayListButton(row){    var cell = AddCell(row, "删除", DeletePlayList);    return cell;}function UpPlayList(){    var cell = event.srcElement;
	var row = cell.parentNode;	
	if (row.rowIndex == 1)
	{
		alert("已经是最上的一行了，无法再『上移』。『确定』返回。：）");
		return;
	}
	var prevRow = row.previousSibling;
	
	row.swapNode(prevRow);
    Reorder(PlayListTable);	    ResetBackColor(PlayListTable);    cell.style.backgroundColor = "";
}function DownPlayList(){    var cell = event.srcElement;
	var row = cell.parentNode;	
	if (row.rowIndex == PlayListTable.rows.length - 1)
	{
		alert("已经是最下的一行了，无法再『下移』。『确定』返回。：）");
		return;
	}
	var nextRow = row.nextSibling;
	
	row.swapNode(nextRow);
    Reorder(PlayListTable);	    ResetBackColor(PlayListTable);    cell.style.backgroundColor = "";
}function DeletePlayList(){    var isConfirm = confirm("你确认要删除连播歌曲“"                             + event.srcElement.parentNode.cells[1].innerText + "”吗？");    if (!isConfirm) return;        var rowIndex = event.srcElement.parentNode.rowIndex;    PlayListTable.deleteRow(rowIndex);    Reorder(PlayListTable);}function AddCell(row, innerText, clickCallBack){    var cell = row.insertCell();
    cell.innerText = innerText;
    cell.style.cursor = "pointer";
    cell.onmouseover = Over;
    cell.onmouseout = Out; 
    cell.onclick = clickCallBack;        return cell;}function AddCheckPlayListButton(row){    var cell = AddCell(row, "√", CheckPlayList);
    return cell;}function CheckPlayList(){    var cell = event.srcElement;    if (cell.innerText == "")
	{
		cell.innerText = "√"
	}
	else
	{
		cell.innerText = "";
	}}/* ******************** ******************** ******************************** */
function SaveSearchHistory()
{
    try
    {
        var historyTable = document.getElementById("SearchLyricHistoryTable");
        var cookieName = "SearchLyricHistory";
        SaveHistoryCookie(historyTable, cookieName);
       
        historyTable = document.getElementById("SearchMusicHistoryTable");
        cookieName = "SearchMusicHistory";
        SaveHistoryCookie(historyTable, cookieName);
        
        historyTable = document.getElementById("PlayMusicHistoryTable");
        cookieName = "PlayMusicHistory";
        SavePlayMusicHistoryCookie(historyTable, cookieName);
        
        historyTable = document.getElementById("PlayListTable");
        cookieName = "PlayList";
        SavePlayMusicHistoryCookie(historyTable, cookieName);
    }
    catch(e)
    {
        alert(e.toString());
    }
}
/* ******************** ******************** ******************************** */function SaveHistoryCookie(historyTable, cookieName){    var value = "";
    for (var i = 1; i < historyTable.rows.length; i++)
    {
        value += historyTable.rows[i].cells[1].innerText + "___";
    }
    
    if (value != "")
    {
        value = value.substr(0, value.length - 3);
        SaveMyHistoryCookie(cookieName, value);
    }}function SavePlayMusicHistoryCookie(historyTable, cookieName){    var value = "";
    for (var i = 1; i < historyTable.rows.length; i++)
    {
        var cell = historyTable.rows[i].cells[1];
        value += cell.innerText + "URL_" + cell.musicUrl + "___";
    }
    if (value != "")
    {
        value = value.substr(0, value.length - 3);
        SaveMyHistoryCookie(cookieName, value);
    }}/* ******************** ******************** ******************************** */function SaveMyHistoryCookie(cookieName, value){    var now = new Date(2018, 7, 5);    var expires = now.toGMTString();
    var path = null;
    SetCookie(cookieName, value, expires, path);}/* 加载搜索历史 ******************** ******************************** */
function LoadSearchHistory()
{
    var historyTable = document.getElementById("SearchLyricHistoryTable");
    var cookieName = "SearchLyricHistory";
    LoadHistory(historyTable, cookieName);
    
    historyTable = document.getElementById("SearchMusicHistoryTable");
    cookieName = "SearchMusicHistory";
    LoadHistory(historyTable, cookieName);
    
    historyTable = document.getElementById("PlayMusicHistoryTable");
    cookieName = "PlayMusicHistory";
    LoadPlayMusicHistory(historyTable, cookieName);

    historyTable = document.getElementById("PlayListTable");
    cookieName = "PlayList";
    LoadPlayMusicHistory(historyTable, cookieName);
}
/* ******************** ******************** ******************************** */
function LoadHistory(historyTable, cookieName){    var value = GetCookie(cookieName);
    if (value != null)
    {
        var array = value.split("___");
        for (var i = 0; i < array.length; i++)
        {
            var row = historyTable.insertRow();
            if (i % 2 == 0)
            {
                row.style.backgroundColor = "#E7E9E9";
            }
            var cell = row.insertCell();
            cell.innerText = (array.length - i).toString();
            
            cell = AddCell(row, array[i], SearchMusicByCell);
        }
    }  }/* ******************** ******************** ******************************** */
function LoadPlayMusicHistory(historyTable, cookieName){    var value = GetCookie(cookieName);
    if (value != null)
    {
        var array = value.split("___");
        for (var i = 0; i < array.length; i++)
        {
            var row = historyTable.insertRow();
            var index = array[i].indexOf("URL_");
            var musicName = array[i].substr(0, index);
            var musicUrl = array[i].substr(index + 4);
            if (i % 2 == 0)
            {
                row.style.backgroundColor = "#E7E9E9";
            }
            var cell = row.insertCell();
            cell.innerText = (array.length - i).toString();
            
            cell = AddCell(row, musicName, SearchMusicByCell);
            cell.setAttribute("musicUrl", musicUrl);
            
            if (cookieName =="PlayMusicHistory")
            {
                AddPlayButton(row);
            }
            
            if (cookieName == "PlayList")
            {
                AddCheckPlayListButton(row);
                AddPlayListButton(row);
                //上移                AddUpPlayListButton(row);                //下移                AddDownPlayListButton(row);                //删除                AddDeletePlayListButton(row);
                
            }
        }
    }  }/* 返回要搜索音乐URL ******************** ******************************** */
function GetSearchMusicUrl(name, currentPage)
{
    var musicType = GetSearchMusicType();
    var pageSize = parseInt(PageSizeTextBox.value);
    var url = searchPage + "?MS=1&N=" + name + "&CP=" + currentPage + "&PS=" + pageSize + "&MT=" + musicType + "&S=1";
    return url;
}
/* 返回要搜索的音乐类型 ******************** ******************************** */
function GetSearchMusicType()
{
    var ids = new Array("Mp3Radio", "AllTypeRadio", "RmRadio", "WmaRadio", "FlashRadio", "MiscRadio");
  
    for (var i = 0; i < ids.length; i++)
    {
        var musicTypeRadio = document.getElementById(ids[i]);
        if (musicTypeRadio.checked)
        {
            return musicTypeRadio.value;
        }
    }
}

/* 单击分页按钮搜索音乐 ******************** ******************************** */
function SearchMusicByPagingButton()
{
    var pagingButton = event.srcElement;
    
    var text = pagingButton.innerText.Trim();
    var currentPage;
    
    if (text == "首页")
    {
        currentPage = 1;
    }
    else if (text == "下页")
    {
        var pagingButtons = PagingTable.children[0].children[0].children;
    
        for (var i = 0; i < pagingButtons.length; i++)
        {
            var button = pagingButtons[i];
            if (button.className == "CurrentPage")
            {
                currentPage = parseInt(button.innerText.Trim()) + 1;
                break;
            }
        }   
    }
    else if (text == "上页")
    {
        var pagingButtons = PagingTable.children[0].children[0].children;
    
        for (var i = 0; i < pagingButtons.length; i++)
        {
            var button = pagingButtons[i];
            if (button.className == "CurrentPage")
            {
                currentPage = parseInt(button.innerText) - 1;
                break;
            }
        }   
    }
    else if (text == "-")
    {
        currentPage = parseInt(pagingButton.nextSibling.innerText.Trim()) - 6;
    }
    else if (text == "+")
    {
        currentPage = parseInt(pagingButton.previousSibling.innerText.Trim()) + 1;
    }
    else
    {
        currentPage = parseInt(text);
    }
    
    SearchMusic(currentPage);
}
/* 单击对象 ******************** ******************************** */
function SearchMusicByObject(obj)
{
    var musicName = obj.innerText.Trim();
    if (musicName == "")
    {
        return;
    }
    NameTextBox.value = musicName;
    SearchMusic(1);
}
function SearchMusicByEnter()
{
    if (event.keyCode == 13)
    {
        if (event.ctrlKey == true)
            SearchLyric();
        else
            SearchMusic(1);
    }
}
/* 单击表格搜索音乐 ******************** ******************************** */
function SearchMusicByCell()
{
    var obj = event.srcElement;
    if (obj.tagName != "TD")
    {
        obj = obj.parentNode;
    }
    var musicName = obj.innerText.Trim();
    if (musicName == "")
    {
        window.status = "点击的表格内容为空，取消了搜索。";
        return;
    }
    NameTextBox.value = musicName;
    SearchMusic(1);
}

/* 单击音乐类型搜索音乐 ******************** ******************************** */
function SearchMusicByMusicType()
{
    SearchMusic(1);
}
/*粘贴搜索*/
function SearchMusicByClipboard()
{
    var keyword = clipboardData.getData("text");
    if (keyword == null || (keyword = keyword.Trim()) == "")
    {
        alert("请先复制关键字。");
        return;
    }
    document.getElementById("NameTextBox").value = keyword;
    SearchMusic(1);
}
var searchKeywords = null;
/* 搜索音乐 ******************** ******************************** */
function SearchMusic(currentPage)
{
    var name = NameTextBox.value.Trim();
    if (name == "")
    {   
        NameTextBox.focus();
        alert("请先输入“音乐名称”再【搜索】。");
        return;
    }
    if (name.length > 30)
    {
        name = name.substr(0, 30);
        NameTextBox.value = name;
    }
    window.scrollTo(0, 0);

    StartProgress(name);

    var url = GetSearchMusicUrl(name, currentPage);
    SearchMusicHtmlScript.src = url;
    SetSearchMusicHtml(currentPage);
    SwitchTabToSearchMusicList();
    AddToSearchHistory("搜索音乐", name);
    
    document.getElementById("UpdateChartsScript").src = musicDir + "Charts.aspx?SearchKeywords=" + name;
}
/* ******************** ******************** ******************************** */
function StartProgress(keyword)
{
    ProgressDiv.innerHTML = "<img src='Image/ProgressBar.gif' />" + keyword + "<img src='Image/ProgressBar.gif' />";               
}
function EndProgress()
{
    ProgressDiv.innerHTML = '';                
}

/* ********** *************************************************************** */

var searchMusicHtmlTimerId = null;
var searchMusicHtml = null;

function SetSearchMusicHtml(currentPage)
{
	if(searchMusicHtml != null)
	{
	    ResultDiv.innerHTML = searchMusicHtml;
	
	    if (ResultDiv.firstChild.rows.length == 1)
		{
            var keyword = NameTextBox.value.Trim();
	        var html = "<div style='text-align:center'>";
	        html += "<table><col   />";
	        html += "<tr><td style='font-size:18px'>没有找到相关音乐，可以点击下面重新搜索：</td></tr>";
	       
            var index = keyword.indexOf(" ");
            if (index > 0)
            { 
                var array = keyword.split(" ");
                for (var i = 0; i < array.length; i++)
                {
                    var temp = array[i].Trim();
                    if (temp.Trim() != "")
                    {
                        html += "<tr><td style='cursor:pointer;font-size:18px' onclick='SearchMusicByCell()'"
                             +  " onmouseover='Over()'"
                             +  " onmouseout='Out()'>" 
                             + temp
                             + "</td></tr>";
                     }
                }
            }
      
            for (var i = 0; i < keyword.length; i++)
            {
                var temp = keyword.substr(0, keyword.length - i -1).Trim();
                if (temp != "")
                {
                     html += "<tr><td style='cursor:pointer;font-size:18px' onclick='SearchMusicByCell()'"
                             +  " onmouseover='Over()'"
                             +  " onmouseout='Out()'>" 
                             + temp
                             + "</td></tr>";
                 }
            }
           
            html += "</table>"
            html += "</div>";
            ResultDiv.innerHTML = searchMusicHtml + html;
		}
        SetPaging(currentPage);
        window.clearTimeout(searchMusicHtmlTimerId);
		searchMusicHtml = null;
        EndProgress();		
	}
	else
	{	
		searchMusicHtmlTimerId = setTimeout("SetSearchMusicHtml(" + currentPage + ")", 1000);
	}
}

/* 设置分页 ******************** ******************************** */
function SetPaging(currentPage)
{
    var pagingButtons = PagingTable.children[0].children[0].children;
    
    for (var i = 0; i < 9; i++)
    {
        var button = pagingButtons[i];
        button.className = "NormalPage";
        button.style.backgroundColor = "";
        button.style.cursor = "pointer";
        InstallPagingHandler(button);
    }   
    
    // 重新设置第X页
    var pageCount = 5;   
    var Paging1Number = parseInt(Paging1Td.innerText);
    
    if (currentPage == 1)
    {
        for (var i = 0; i < pageCount; i++)
        {
            var button = pagingButtons[i+2];
            button.innerText = (i+1).toString();
        }
    }
    else if (currentPage < Paging1Number)
    {
        for (var i = 0; i < pageCount; i++)
        {
            var button = pagingButtons[i+2];
            button.innerText = (Paging1Number - (5-i)).toString();
        }
    }
    else 
    {
        var Paging5Number = parseInt(Paging5Td.innerText.Trim());
        if (currentPage > Paging5Number)
        {
            for (var i = 0; i < pageCount; i++)
            {
                var button = pagingButtons[i+2];
                button.innerText = (Paging5Number + i + 1).toString();
            }
        }
    }
    
    // 高亮当前页
    for (var i = 0; i < pageCount; i++)
    {
        var button = pagingButtons[i+2];
        var myCurrentPage = button.innerText;
        if (myCurrentPage == currentPage)
        {
            button.className = "CurrentPage";
            button.style.cursor = "default";
            UninstallPagingHandler(button);
            break;
        }        
    }
    
    if (currentPage == 1)
    {
        UninstallPagingHandler(FirstPageTd);
        UninstallPagingHandler(PreviousPageTd);
        FirstPageTd.style.cursor = "default";
        PreviousPageTd.style.cursor = "default"; // 上页
    }
    
    var result = currentPage / pageCount;
    if (result <= 1)
    {
        UninstallPagingHandler(Previous5PagesTd);
        Previous5PagesTd.style.cursor = "default"; // 上5页
    }
}

/* ******************** ******************** ******************************** */
function InstallPagingHandler(obj)
{
    obj.onclick = SearchMusicByPagingButton;
    obj.onmouseover = Over;
    obj.onmouseout = Out;
}
function UninstallPagingHandler(obj)
{
    obj.onclick = null;
    obj.onmouseover = null;
    obj.onmouseout = null;
}

/* 播放音乐 ******************** ******************************** */
var musicName = null;
var singer = "";
function PlayMusic(baiduSearchUrl)
{
    var url = baiduSearchUrl.replace(/_AMP_/g, "&");
//    alert(baiduSearchUrl + "\r\n\r\n" + url);
//    window.open(url );
//    return;
    var playMusicTd = event.srcElement;
    if (playMusicTd.tagName != "TD") // 单击到图片
    {
        playMusicTd = playMusicTd.parentNode;
    }
    musicName = playMusicTd.previousSibling.innerText;
    singer = playMusicTd.previousSibling.previousSibling.innerText;
    playMusicTd.style.color = "blue";
    
    window.scrollTo(0, 0);
    ProgressDiv.innerHTML = "<img src='Image/ProgressBar.gif' />" + musicName + "<img src='Image/ProgressBar.gif' />";    
    
    if (searchMusicUrlTimerId != null)
    {
        window.clearTimeout(searchMusicUrlTimerId);
		searchMusicUrlTimerId = null;
		searchMusicUrl = null;
    }

    var url = searchPage + "?S=1&Url=" + baiduSearchUrl;
//    alert(url);
//    window.open(url);
    SearchMusicUrlScript.src = url;
    SetSearchMusicUrl();
}
/* ********** *************************************************************** */
var searchMusicUrlTimerId = null;
var searchMusicUrl = null;

function SetSearchMusicUrl()
{
	if(searchMusicUrl != null)
	{
//	    alert(searchMusicHtml);
        EndProgress();	    
        
        var playingSongSpan = document.getElementById("PlayingSong");
        playingSongSpan.innerText = musicName;
        
		var singerSpan = document.getElementById("SingerSpan");
        singerSpan.innerText = " " + singer + " ";
		if (singer.Trim() == "")
		{
	        singerSpan.setAttribute("title", ""); 
	    }
	    else
	    {
	        singerSpan.setAttribute("title" ,"查找 " + singer +" 演唱的所有歌曲");   
	    }
        
        if (searchMusicUrl == "")
        {
            document.getElementById("PlayerState").innerText = "播放地址失效";
	        return;
	    }

		WindowsMediaPlayerObject.URL = searchMusicUrl;
		_inPlayList = false;
	    PlayListStatus.innerHTML = "&nbsp;";
		AddToSearchHistory("播放音乐", musicName, searchMusicUrl);
		window.clearTimeout(searchMusicUrlTimerId);
		searchMusicUrlTimerId = null;
		searchMusicUrl = null;
	}
	else
	{	
		searchMusicUrlTimerId = setTimeout("SetSearchMusicUrl()", 1000);
	}
}
/* 鼠标停留在表格时的背景颜色 ******************** ******************************** */
var overColor = "#D7DECD";

/* 记录表格的背景颜色 ******************** ******************************** */
var originalColor = "";

/* 鼠标停留在表格时 ******************** ******************************** */
function Over()
{
    var obj = event.srcElement;    
    if (obj.tagName != "TD")
    {
        obj = obj.parentNode;
    }
    originalColor = obj.style.backgroundColor;
    obj.style.backgroundColor = overColor;    
}
/* 鼠标移出表格时 ******************** ******************************** */
function Out()
{
    var obj = event.srcElement;    
    if (obj.tagName != "TD")
    {
        obj = obj.parentNode;
    }
    obj.style.backgroundColor = originalColor;
    originalColor = "";
}
/* ******************** ******************** ******************************** */
function AddToSearchHistory(type, keyword)
{
    var musicUrl = null;
    AddToSearchHistory(type, keyword, musicUrl);
}
function AddToSearchHistory(type, keyword, musicUrl)
{
    try
    {  
        var isSearchMusic = false;
        var isSearchLyric = false;
        var isPlayMusic = false;
        var historyTable;
        if (type == "搜索音乐") 
        {
            historyTable = document.getElementById("SearchMusicHistoryTable");
            isSearchMusic = true;
        }
        else if (type == "搜索歌词") 
        {
            historyTable = document.getElementById("SearchLyricHistoryTable");
            isSearchLyric = true;
        }
        else // (type == "播放音乐")
        {
            historyTable = document.getElementById("PlayMusicHistoryTable");
            isPlayMusic = true;
        }
        
        var rowsLength = historyTable.rows.length;
        var historyCount = rowsLength - 1;
    
        if (historyCount > 0 
            && historyTable.rows[1].cells[1].innerText == keyword) // 上次记录是一致的
        {
            if (isPlayMusic)
            {
                historyTable.rows[1].cells[1].musicUrl = musicUrl;
            }
            return;
        }
        
        var deleteRowIndex = -1;
        for (var i = 2; i < historyTable.rows.length; i++)
        {
            if (historyTable.rows[i].cells[1].innerText == keyword)
            {
                deleteRowIndex = i;
                break;
            }
        }
        if (deleteRowIndex != -1)
        {
             historyTable.deleteRow(deleteRowIndex);
        }
        
       
        var row = historyTable.insertRow(1);

        var cell = row.insertCell();
        cell.innerText = (historyCount + 1).toString();
        cell.style.color = "green";
        cell.style.fontWeight = "bold";
        
        cell = AddCell(row, keyword, SearchMusicByCell);
        cell.style.color = "green";
        cell.style.fontWeight = "bold";
        
        if (isSearchMusic)
        {
            cell.onclick = SearchMusicByCell;
        }
        else if (isSearchLyric)
        {
            cell.onclick = SearchLyricByCellHistory;
        }
        else
        {
            cell.onclick = SearchMusicByCell;
            cell.setAttribute("musicUrl", musicUrl);
            
            AddPlayButton(row);
            
        }
        
        while ((historyTable.rows.length - 1) > maxHistoryCount)
        {
            historyTable.deleteRow();
        }
        Reorder(historyTable);
        ResetBackColor(historyTable);
    }
    catch(e)
    {
        alert(e.toString());
    }
}

/* 添加播放按钮 ******************** ******************************** */
function AddPlayButton(row){    var cell = AddCell(row, "", PlayMusicDirectly);    cell.innerHTML = "<img src='Image/Play.gif' />";
        return cell;}/* 添加连播按钮 ******************** ******************************** */
function AddPlayListButton(row){    var cell = AddCell(row, "", PlayList);    cell.innerHTML = "<img src='Image/Play.gif' />";
    return cell;}/* 连播 ******************** ******************************** */function PlayList(){    _inPlayList = true;    PlayListStatus.innerText = "正在连播";    var currentCell = GetCurrentMusicCell();    if (currentCell != null)    {        currentCell.style.color = "";    }        var cell = event.srcElement;    if (cell.tagName != "TD")    {        cell = cell.parentNode;    }    cell = cell.previousSibling.previousSibling;    cell.style.color = "blue";    WindowsMediaPlayerObject.URL = cell.musicUrl;    PlayingSong.innerText = cell.innerText;    SingerSpan.innerText = " ";        cell.nextSibling.innerText = "√";}var _playNextMusicTimerID = null;
function PlayNextMusic(){    if (_playNextMusicTimerID == null)    {        _playNextMusicTimerID = setTimeout("PlayNextMusic()", 1000);    }    else    {        clearTimeout(_playNextMusicTimerID);        _playNextMusicTimerID = null;        var nextCell = GetNextMusicCell();         HighlightPlayList();        document.getElementById("WindowsMediaPlayerObject").URL = nextCell.musicUrl;        PlayingSong.innerText = nextCell.innerText;
        _inPlayList=true;
        PlayListStatus.innerText = "正在连播";
    } }function HighlightPlayList(){    var currentCell = GetCurrentMusicCell();    var nextCell = GetNextMusicCell();    currentCell.style.color = "";    nextCell.style.color = "blue";}function GetCurrentMusicCell() {    for (var i = 1; i < PlayListTable.rows.length; i++)
    {   
        var cell = PlayListTable.rows[i].cells[1];
        if (cell.style.color == "blue")
        {
            return cell;             
        }
    }    return null;}function GetNextMusicCell(){    var nextCell = null;    var currentIndex;    for (var i = 1; i < PlayListTable.rows.length; i++)
    {   
        var cell = PlayListTable.rows[i].cells[1];
        if (cell.style.color == "blue")
        {   
           currentIndex = i;
           break;
        }
        
    }    for (var i = currentIndex+1; i< PlayListTable.rows.length; i++)
    {
        var cell = PlayListTable.rows[i].cells[2];
        if (cell.innerText == "√")
        {
            return cell.previousSibling;
        }
    }            for (var i = 1; i < PlayListTable.rows.length; i++)
    {   
        var cell = PlayListTable.rows[i].cells[2];
        if (cell.innerText == "√")
        {
            return cell.previousSibling;
        }
    }    return nextCell;}/* ******************** ******************** ******************************** */function PlayMusicDirectly(){    var obj = event.srcElement;    if (obj.tagName != "TD")    {        obj = obj.parentNode;    }    obj = obj.previousSibling;    var musicName = obj.innerText;    var musicUrl = obj.musicUrl;        var playingSongSpan = document.getElementById("PlayingSong");
    playingSongSpan.innerText = musicName;        WindowsMediaPlayerObject.URL = musicUrl;    _inPlayList = false;
    PlayListStatus.innerHTML = "&nbsp;";    var singerSpan = document.getElementById("SingerSpan");
    SingerSpan.innerText = " ";}
function Reorder(historyTable)
{
    var historyCount = historyTable.rows.length - 1;
    for (var i = 1; i < historyTable.rows.length; i++)
    {
        var order = (historyCount - i + 1).toString();
        historyTable.rows[i].cells[0].innerText = order;
    }
}
function ResetBackColor(historyTable){    for (var i = 1; i < historyTable.rows.length; i++)
    {
        if (i % 2 == 1)
        {
             historyTable.rows[i].style.backgroundColor = "";
        }
        else
        {
            historyTable.rows[i].style.backgroundColor = "#e7e9e9";
        }
    }}/* 切换到搜索音乐列表 ******************** ******************************** */function SwitchTabToSearchMusicList(){    SwitchTab(SearchMusicListTabTitle, "SearchMusicListDiv");}/* 切换到搜索歌词 ******************** ******************************** */function SwitchTabToSearchHistory(){    SwitchTab(SearchHistoryTabTitle, "SearchHistoryDiv");}/* 切换到搜索歌词 ******************** ******************************** */function SwitchTabToSearchLyric(){    SwitchTab(SearchLyricTabTitle, "SearchLyricDiv");    window.scrollTo(0, 0);}/* ******************** ******************** ******************************** */function SwitchTab(tabTitle, tabPageID)
{
    // 切换TabTitle
    var tabTitleRows = TabTitleTable.rows;
    for (var i = 0; i < tabTitleRows.length; i++)
    {
        var tabTitleCells = tabTitleRows[i].cells;
        var hasSelectedTab = false;
        for (var j = 0; j < tabTitleCells.length; j++)
        {  
            var tabTitleCell = tabTitleCells[j];
            if (tabTitleCell.className == "SelectedTabTitle")
            {
                tabTitleCell.className = "TabTitle";
                hasSelectedTab = true;
                break;
            }
        }
        
        if (hasSelectedTab) break;
    }
    tabTitle.className = "SelectedTabTitle";
    
    // 切换TabTitle行到最下边的一行
    var tabTitleRow = tabTitle.parentNode;
    var rowIndex = tabTitleRow.rowIndex;
    while (rowIndex < tabTitleRows.length - 1)
    {
        var tbody = tabTitleRow.parentNode;
        var nextTbody = tbody.nextSibling;
        tbody.swapNode(nextTbody);
        rowIndex = tbody.children[0].rowIndex;
    }

    
    // 切换TabPage
    var tabPages = document.getElementById("TabPageDiv").children;
   
    for (var i = 0; i < tabPages.length; i++)
    {
        var tabPage = tabPages[i];
        if (tabPage.className == "SelectedTabPage")
        {
            tabPage.className = "TabPage";
            break;
        }
    }
    document.getElementById(tabPageID).className = "SelectedTabPage";  
    
    var hotType = null;
    
    if (tabPageID == "TotalCountDiv")
        hotType = 0;
    else if (tabPageID == "LastMonthCountDiv")
        hotType = 1;
    else if (tabPageID == "ThisMonthCountDiv")
        hotType = 2;
    else if (tabPageID == "LastWeekCountDiv")
        hotType = 3;
    else if (tabPageID == "ThisWeekCountDiv")
        hotType = 4;
    else if (tabPageID == "YesterdayCountDiv")
        hotType = 5;
    else if (tabPageID == "TodayCountDiv")
        hotType = 6;
    else if (tabPageID == "LastSearchDiv")
        hotType = 7;
    else if (tabPageID == "HotNewSongDiv")
    {
         hotType= "NewSong100";       
    }
    else if (tabPageID == "OldSongDiv")
    {
         hotType = "OldSong";       
    }
    else if (tabPageID == "TvSongDiv")
    {
         hotType = "TvSong";       
    }
    else if (tabPageID == "MovieSongDiv")
    {
         hotType = "MovieSong";       
    }
    if (hotType == null)
    {
        return;
    }
    
    if (tabPageID.indexOf("Count") > -1 || tabPageID == "LastSearchDiv")
    {
        HotSongScript.src = musicDir + "Charts.aspx?T=" + hotType;
    }
    else 
    {
        HotSongScript.src = hotSongPage + "?T=" + hotType;
    }
    ProgressDiv.innerHTML = "<img src='Image/ProgressBar.gif' />" + tabTitle.innerText.Trim() + "<img src='Image/ProgressBar.gif' />";   
    SetHotSongHtml(tabPageID);
}
/* ********** *************************************************************** */
var hotSongHtmlTimerId = null;
var hotSongHtml = null;

function SetHotSongHtml(tabPageID)
{
	if(hotSongHtml != null)
	{
		document.getElementById(tabPageID).innerHTML = hotSongHtml;
		EndProgress();
        window.clearTimeout(hotSongHtmlTimerId);
		hotSongHtmlTimerId = null;
		hotSongHtml = null;		
	}
	else
	{	
	    hotSongHtmlTimerId = setTimeout("SetHotSongHtml('" + tabPageID + "')", 1000);
	}
}
/* 搜索歌词 ******************** ******************************** */
function SearchLyricByCell()
{
    var cell = event.srcElement;
    if (cell.tagName != "TD")
    {
        cell = cell.parentNode;
    }
    var keyword = cell.previousSibling.previousSibling.innerText;
    NameTextBox.value = keyword;
    SearchLyric();
}
function SearchLyricByCellHistory()
{
    var cell = event.srcElement;
    if (cell.tagName != "TD")
    {
        cell = cell.parentNode;
    }
    var keyword = cell.innerText;
    NameTextBox.value = keyword;
    SearchLyric();
} function ResearchLyricBySeperateSpace(isBeforeSpace){    var keyword = NameTextBox.value.Trim();    var index = keyword.indexOf(" ");    if (index < 0)    {        alert("关键词中没有空格。请偿试其他搜索。");        return;    }    if (isBeforeSpace)        keyword = keyword.substr(0, index);    else        keyword = keyword.substr(index, keyword.length - index);    NameTextBox.value = keyword;    SearchLyric();}function GetResearchButtonHtml(isSearchLyric){    var html;    if (isSearchLyric)    {        html = "<button onclick='ResearchLyricBySeperateSpace(true)'>查找空格分隔关键词前的短语</button><br />"             + "<button onclick='ResearchLyricBySeperateSpace(false)'>查找空格分隔关键词后的短语</button><br />"             ;    }    return html;}function SearchLyricByObject(obj){    var keyword = obj.innerText;
    NameTextBox.value = keyword;
    SearchLyric();
} /* 搜索歌词 ******************** ******************************** */
function SearchLyric()
{
    var keyword = NameTextBox.value.Trim();
    if (keyword.length > 30)
    {
        keyword = keyword.substr(0, 30);
        NameTextBox.value = keyword;
    }
    ProgressDiv.innerHTML = "<img src='Image/ProgressBar.gif' />" + keyword + "<img src='Image/ProgressBar.gif' />";               
    var url = searchPage + "?LK=" + keyword;
    SearchLyricScript.src = url;
    SetSearchLyric();
    AddToSearchHistory("搜索歌词", keyword);
    SwitchTabToSearchLyric();
}/* ********** *************************************************************** */
var searchLyricTimerId = null;
var searchLyric = null;

function SetSearchLyric()
{
	if(searchLyric != null)
	{
	    if (searchLyric == "")
	    {
            var keyword = NameTextBox.value.Trim();
	        var html = "<div style='text-align:center'>";
	        html += "<table><col   />";
	        html += "<tr><td style='font-size:18px'>没有找到相关歌词，可以点击下面重新搜索：</td></tr>";
	       
            var index = keyword.indexOf(" ");
            if (index > 0)
            { 
                var array = keyword.split(" ");
                for (var i = 0; i < array.length; i++)
                {
                    var temp = array[i].Trim();
                    if (temp.Trim() != "")
                    {
                        html += "<tr><td style='cursor:pointer;font-size:18px' onclick='SearchLyricByObject(this)'"
                             +  " onmouseover='Over()'"
                             +  " onmouseout='Out()'>" 
                             + temp
                             + "</td></tr>";
                     }
                }
            }
      
            for (var i = 0; i < keyword.length; i++)
            {
                var temp = keyword.substr(0, keyword.length - i -1).Trim();
                if (temp != "")
                {
                     html += "<tr><td style='cursor:pointer;font-size:18px' onclick='SearchLyricByObject(this)'"
                             +  " onmouseover='Over()'"
                             +  " onmouseout='Out()'>" 
                             + temp
                             + "</td></tr>";
                 }
            }
           
            html += "</table>"
            html += "</div>";
	        SearchLyricResultDiv.innerHTML = html;
	    }
	    else
	    {
		    SearchLyricResultDiv.innerHTML = searchLyric;
        }
		EndProgress();
        window.clearTimeout(searchLyricTimerId);
		searchLyricTimerId = null;
		searchLyric = null;		
	}
	else
	{	
	    searchLyricTimerId = setTimeout("SetSearchLyric()", 1000);
	}
}
/* ******************** ******************** ******************************** */function ChangePlayState(newState){    var state;
    switch(newState)
    {
    //case 0:
    //     state = "<img src='Image/PlayerClosed.gif' />";       
    //    break;
    case 1:
        state = "<img src='Image/PlayerClosed.gif' />停止播放"; 
        break;
    case 2:
         state = "<img src='Image/PlayerPaused.gif' />暂停播放";
        break;
    case 3:
         state = "<img src='Image/PlayerPlaying.gif' />正在播放";       
        break;
    //case 4:
    //     state = "<img src='Image/PlayerConnecting.gif' />";       
    //    break;
    //case 5:
    //    state = "<img src='Image/PlayerConnecting.gif' />";       
    //    break;
    case 6:
        state = "<img src='Image/PlayerCaching.gif' />正在缓冲";       
        break;
    //case 7:
    //    state = "<img src='Image/PlayerConnecting.gif' />";       
    //    break;
    case 8:
        state = "<img src='Image/PlayerClosed.gif' />";   
       if (newState == 8 && _inPlayList && PlayListTable.rows.length > 2)
        { 
            PlayNextMusic();
            return;
        }
        _inPlayList = false;
        PlayListStatus.innerHTML = "&nbsp;";
        break;
    case 9:
        state = "<img src='Image/PlayerConnecting.gif' />正在连接";       
        break;
    case 10:
        state = "<img src='Image/PlayerError.gif' />不能播放";       
        break;
    default:
        state = "播放状态：" + newState;
        break;
    }
//    alert(state);
    PlayerState.innerHTML = state; }/* ******************** ******************** ******************************** */function SaveMaxHistoryCount(){    var count = MaxHistoryCountTextBox.value;    if (!IsNumber(count))    {        alert("请输入数字。");        MaxHistoryCountTextBox.select();        return;    }    count = parseInt(count);    if (count < 5 || count > 50)    {        alert("历史最大数目只能是5-50。暂时恢复为默认20条。");        MaxHistoryCountTextBox.value = "20";        MaxHistoryCountTextBox.select();        return;    }    maxHistoryCount = count;    SaveMaxHistoryCountCookie(count);    alert("设置成功。");}function SaveMaxHistoryCountCookie(count){    var now = new Date(2018, 7, 5);    var expires = now.toGMTString();
    var path = null;
    SetCookie("MaxHistoryCount", count, expires, path);}function LoadMaxHistoryCount(){    var value = GetCookie("MaxHistoryCount");    if (value != null)    {        maxHistoryCount = parseInt(value);        MaxHistoryCountTextBox.value = value;    }}function IsNumber(text){    var reg = /^\d{1,2}$/;    return reg.test(text);}function ResetMaxHistoryCount(){    maxHistoryCount = 20;    MaxHistoryCountTextBox.value = maxHistoryCount.toString();    DeleteCookie("MaxHistoryCount");    alert("已经恢复默认。");}/* 检查每页记录数 ******************** ******************************** */
function CheckPageSize()
{
    if (isNaN(PageSizeTextBox.value.Trim()))
    {
        PageSizeTextBox.value = 20;
        alert("输入的不是数字。系统已恢复默认值：20 。");
    }
    pageSize = parseInt(PageSizeTextBox.value.Trim());
    if (pageSize < 10 || pageSize > 50)
    {
        PageSizeTextBox.value = "20";        
        alert("每页记录最少要 10 条，最多只能 50 条。系统已恢复默认值：20 。");
    }
    SavePageSizeCookie(pageSize);    
    alert("设置成功。");}function SavePageSizeCookie(count){    var now = new Date(2018, 7, 5);    var expires = now.toGMTString();
    var path = null;
    SetCookie("PageSize", count, expires, path);}function LoadPageSize(){    var value = GetCookie("PageSize");    if (value != null)    {        PageSizeTextBox.value = value;    }}function ResetPageSize(){    PageSizeTextBox.value = "20";    DeleteCookie("PageSize");    alert("已经恢复默认。");}/* ******************** ******************** ******************************** */function SaveSwitchTabType(){    var idArray = new Array(        new Array("SearchMusicListRadio", "SearchMusicListTabTitle", "SearchMusicListDiv"),        new Array("SiteTopRadio",         "SiteTopTabTitle",         "TotalCountDiv"),        new Array("PlayListRadio", "PlayListTabTitle", "PlayListDiv"),        new Array("SiteRecentRadio", "SiteRecentTabTitle", "LastSearchDiv"),        new Array("SiteTodayRadio", "SiteTodayTabTitle", "TodayCountDiv"),        new Array("OldSongRadio", "SearchTop500SongTabTitle", "OldSongDiv"),        new Array("HotNewSongRadio", "SearchHotNewSongTabTitle", "HotNewSongDiv"),        new Array("SearchHistoryRadio", "SearchHistoryTabTitle", "SearchHistoryDiv")    );    var radioID;    var tabTitleID;    var tabPageID;        for (var i = 0; i < idArray.length; i++)    {        radioID = idArray[i][0];        var myRadio = document.getElementById(radioID);        if (myRadio.checked)        {            tabTitleID = idArray[i][1];            tabPageID = idArray[i][2];            break;        }    }    var searchKeyword = SearchKeywordTextBox.value.Trim();    if (searchKeyword == "")    {        alert("没有输入搜索音乐关键词。");        SearchKeywordTextBox.select();        return;    }    var value = radioID + "___"              + tabTitleID + "___"              + tabPageID + "___"              + searchKeyword;    SaveSwitchTabTypeCookie(value);    alert("设置成功。");}function SaveSwitchTabTypeCookie(value){    var now = new Date(2018, 7, 5);    var expires = now.toGMTString();
    var path = null;
    SetCookie("SwitchTabType", value, expires, path);}function LoadSwitchTabType(){    var musicKeyword = GetMusicKeywordFromUrl();    if (musicKeyword != null)    {        NameTextBox.value = musicKeyword;        SearchButton.click();        return;    }        var lyricKeyword = GetLyricKeywordFromUrl();    if (lyricKeyword != null)    {        NameTextBox.value = lyricKeyword;        SearchLyricButton.click();        return;    }        var value = GetCookie("SwitchTabType");    if (value == null)    {        SearchButton.click();    }    else    {        var array = value.split("___");
        var radioID = array[0];
        var myRadio = document.getElementById(radioID);
        myRadio.checked = true;                  var searchKeyword = array[3];
        SearchKeywordTextBox.value = searchKeyword;        NameTextBox.value = searchKeyword;                var tabTitleID = array[1];        var tabPageID = array[2];                 var tabTitle = document.getElementById(tabTitleID);        if (tabTitleID == "SearchMusicListTabTitle")        {            SearchButton.click();        }        else        {            SwitchTab(tabTitle, tabPageID);        }    }}function ResetSwitchTabType(){    SearchKeywordTextBox.value = "信乐团";    DeleteCookie("SwitchTabType");    alert("已经恢复默认。");}/* 从URL中搜索 ******************** ******************************** */
function FirstSearch(){    var musicKeyword = GetMusicKeywordFromUrl();    var lyricKeyword = GetLyricKeywordFromUrl();        var searchButton;    if (musicKeyword != null)    {        NameTextBox.value = musicKeyword;        searchButton = document.getElementById("SearchButton");    }    else if (lyricKeyword != null)    {        NameTextBox.value = lyricKeyword;        searchButton = document.getElementById("SearchLyricButton");    }    else    {        searchButton = document.getElementById("SearchButton");    }        searchButton.click();}function GetMusicKeywordFromUrl(){    var url = window.location.href.toLowerCase();    var index = url.indexOf("?music=");        if (index > 8)    {        return  url.substr(index+7);    }        return null;}function GetLyricKeywordFromUrl(){    var url = window.location.href.toLowerCase();    var index = url.indexOf("?lyric=");        if (index > 8)    {        return  url.substr(index+7);    }        return null;}function OpenMusicWindow(){    if (PlayerState.innerText != "正在播放")    {        alert("只有“正在播放”中的歌曲才能【打开窗口】。");        return;    }    PlayingSongLink.href = WindowsMediaPlayerObject.URL;    PlayingSongLink.click();}function CopyUrl(){    if (PlayerState.innerText != "正在播放")    {        alert("只有“正在播放”中的歌曲才能【复制地址】。");        return;    }    clipboardData.setData("text", WindowsMediaPlayerObject.URL);    window.status = "已经复制地址：" + WindowsMediaPlayerObject.URL;    　}function ExportPlayListToFile(){    if (PlayListTable.rows.length == 1)    {        alert("没有连播歌曲，请添加至少一首连播歌曲后再导出。");        return;    }    var content = "";    for (var i = 1; i < PlayListTable.rows.length; i++)    {        var cell = PlayListTable.rows[i].cells[1];//        var musicName = cell.innerText;        var musicUrl = cell.musicUrl;        content += musicUrl + "\r\n";    }    content = content.substr(0, content.length -2);    SaveToFile(content, "AliangMusicPlayList.htm");}function SaveToFile(content, filename) 
{
    if (content == null) content = "";
    var win = window.open('', '_blank', 'top=10000');
    win.document.open("text/html","gb2312"); 
    win.opener = null;
    win.document.write(content);
    win.document.execCommand('Saveas', true, filename);
    win.close();
    alert("已经保存到文件：" + filename + "，需要将扩展名htm改为m3u后，才能双击打开WindowsMediaPlayer。");
}