function getObject(idname) {
	if (document.getElementById){
		return document.getElementById(idname);
	}else if (document.all){
		return document.all[idname];
	}else if (document.layers){
		return document.layers[idname];
	}else{
		return null;
	}
}

function getValue(id){
	if(getObject(id)){
		return getObject(id).value;
	}
};

function setValue(id,str){
	if(getObject(id)){
		getObject(id).value=str;
	}
};

function getTags(parentobj, tag){
	if (parentobj == null){
		return new Array();
	}else if (typeof parentobj.getElementsByTagName != 'undefined'){
		return parentobj.getElementsByTagName(tag);
	}else if (parentobj.all && parentobj.all.tags){
		return parentobj.all.tags(tag);
	}else{		
		return new Array();
	}
}

function PlayerUtils()
{
	var player = getObject("MediaPlayer");
	
	var ps = player.PlayState;
	var list = getTags(getObject("musiclist"),"tr");
	var total = list.length-1;
	this.currentOrigin = 0;
	this.current = 0;
	var bg = "#fff";
	var dels = "";
    this.playMode=0;
    this.playList=null;


    this.init=function()
    {
        this.setPlayMode(0);
    };


    this.setPlayMode=function(newPlayMode)
    {
        this.playMode=newPlayMode;
		this.playList=[];
        if(this.playMode == 0)
		{
			for(var i=0;i<list.length;i++)
			{
				if(!this.isDel(i))
					this.playList.push(list[i]);
			}
		}
        this.current=this.getPlayIndex(this.currentOrigin);
        if(this.current<0) this.current=0;
    };
	


	this.del = function(i)
    {
		var flag = "|"+i+"|";
		if(dels.indexOf(flag)==-1)
        {
			dels += flag;
			//c.setHtml("del_"+i,"恢复");
			getObject("m_"+i).style.display = "none";
            this.setCanPlay(i,false);
            //c.o("p_"+i).className="oid_";
		}else{
			bg = "#fff";
			dels = dels.replace(flag,"");
			//c.setHtml("del_"+i,"删除");
            this.setCanPlay(i,true);
            //c.o("p_"+i).className="oid";
		}
		return false;
	};


    this.setCanPlay=function(origin_index,play)
    {
        if(play)
        {
			this.playList.push(document.getElementById("m_"+origin_index));
        }
        else
        {
            this.removeFromPlayList(origin_index);
        }
    };

    this.removeFromPlayList=function(origin_index)
    {
        var playIndex=this.getPlayIndex(origin_index);
        if(playIndex>-1)
        {
            this.getAndRemoveFromArray(this.playList,playIndex);
            if(this.current>=playIndex)
            {//如果删除的歌曲
                this.current--;
            }
        }
    };

    this.getAndRemoveFromArray=function(arr,index)
    {
        var ele=null;
        if(index>=0 && index<arr.length)
        {
            ele=arr[index];
            for(var i=index;i<arr.length-1;i++)
                arr[i]=arr[i+1];
            arr.pop();
        }
        return ele;
    }

	this.isDel=function(t)
    {
        return dels.indexOf("|"+t+"|")>=0;
    }



    this.getPlayIndex=function(origin_index)
    {
        for(var i=0;i<this.playList.length;i++)
        {
            if(this.playList[i].id==("m_"+origin_index))
            {
                return i;
            }
        }
        return -1;
    }





    this.utils = function(eleIndex)
    {
        this.currentOrigin=eleIndex;
        this.current=this.getPlayIndex(eleIndex);
        
		player.Url = getObject("url_"+eleIndex).value;
		player.src = getObject("url_"+eleIndex).value;
		this.setColor(eleIndex);

        //*** 歌曲时长统计 ***//
		this.doPlayCount(getValue("musicid_" + eleIndex));
        return false;
	};


    this.setColor = function(ii){
		for(var i=0; i<list.length; i++){
			getObject("t1_"+i).style.color = "#456da8";
			//getObject("t1_"+i).style.cursor = getObject("t2_"+i).style.cursor = "pointer";
			getObject("m_"+i).style.cursor = "pointer";
			if(i>0 && (i+1)%2==0)
				getObject("m_"+i).style.background="#e6f3fb";
			else
				getObject("m_"+i).style.background="#fff";
		}
		bg="#456da8";
		getObject("m_"+ii).style.background="#456da8";
		getObject("t1_"+ii).style.color = "#fff";
		
	};


	this.doPlay = function()
    {
        ps = player.PlayState; /*1-stop 2-Suspended 3-play*/
        if(ps==1)
        {
			this.doPlayNext();
		}
        setTimeout("pu.doPlay()", 1000);
	};

    this.doPlayNext = function()
    {
        if(this.current>=0)
        {
            if(this.playList && this.playList.length>0)
                this.current=(this.current+1)%this.playList.length;
        }
        else
			this.current=0;
        var oi=this.getOriginIndex();
        this.utils(oi);
	};


    this.getOriginIndex=function()
    {
        if(this.current<0 || this.current>=this.playList.length)
        {
            this.current=0;
        }
        if(this.playList.length==0) return -1;
        var divEle=this.playList[this.current];
        var origin_index=this.getItemOriginIndex(divEle);
        if(origin_index>=0) return origin_index;
        return 0;
    }

    this.getItemOriginIndex=function(item)
    {
        return parseInt((item.id+"").replace("m_",""));
    }


	//*** 歌曲时长统计 ***//
	var songTime = 0;
	var songStart = 0;	//下一首
	var timeUrl, songDuration, thisThread, thisInterval;
	this.doPlayCount = function(SongID)
    {
        //if (songTime > 0 && songStart > 0) {
			timeUrl = "/common/show_lyric3.php?id=" + SongID;
			getObject("music_lyric").innerHTML = "<iframe id=\"music_lyric_iframe\" src=\"" + timeUrl + "\" style=\"width:202px;height:165px;background-color:#000000\" scrolling='no' frameborder='0'></iframe>";
		//}

		songTime = 0;
		songStart += 1;
		thisThread = this;
        var callBack = function() { thisThread.doStartTime(); };
        clearInterval(thisInterval); //清除上次的线程
        thisInterval = setInterval(callBack, 1000);
	};
	this.doStartTime = function()
    {
        if (ps == 3)
        {
			songTime += 1;
			try
			{
				songDuration = Math.floor(player.currentMedia.duration);
			}
			catch(e)
			{}
		}
	};
	//*** 歌曲时长统计 ***//


	this.mt = function(i) {
		getObject("m_"+i).style.background = bg;
	};
	this.mo = function(i) {
		bg = getObject("m_"+i).style.background;
		getObject("m_"+i).style.background = "powderblue";
	};



}
