var PLBOX = {
	toneInfo : [],
	pauseFlag : false,
	curID : 0,
    volstatus : 1,  // 0: voice closed    1:voice open
	vol : 0,
	tid : null,
	position : 0,
    volclick : function(obj)
	{
		if(this.volstatus==1)
		{
		    this.volstatus = 0;
			obj.style.backgroundImage="url(images1/plbox/voice_close.gif)";
			$i("plboxPlayer").settings.mute=true;
		}
		else
		{
		    this.volstatus = 1;
			obj.style.backgroundImage="url(images1/plbox/voice.gif)";
			$i("plboxPlayer").settings.mute=false;
		}
	},
	getInfo : function()
	{ 
		$i("plboxlistinfo").innerHTML = "loading...";
        $.get("in_plbox_sv.jsp",{mt:"1",r:Math.random()},function(data){

		    data = data.trim().replace(/(\,*$)/g,"");
			eval("PLBOX.toneInfo = ["+data+"];");

            if(PLBOX.toneInfo.length > 0)
			{
				var sb = new StringBuffer();
				var param = "";
				for(var i=0;i<PLBOX.toneInfo.length;i++)
				{
					param = "'"+PLBOX.toneInfo[i].toneFile+"','"+PLBOX.toneInfo[i].toneID + "','" + PLBOX.toneInfo[i].toneCode + "','" + PLBOX.toneInfo[i].toneName + "','"
					+ PLBOX.toneInfo[i].singer + "','" + PLBOX.toneInfo[i].desc + "','" + PLBOX.toneInfo[i].price + "','"
					+ PLBOX.toneInfo[i].toneValidDay + "','" + PLBOX.toneInfo[i].spName + "','" + PLBOX.toneInfo[i].updateTime + "','"
					+ PLBOX.toneInfo[i].orderTimes + "','1'";

					sb.append('<table cellspacing="0" cellpadding="0" width="100%" height="20">');
					sb.append('<tr align="center"><td width="10%"><div class="plb_icon"></div></td>');
					sb.append('<td width="70%" align="left" title="'+PLBOX.toneInfo[i].toneName+"/"+PLBOX.toneInfo[i].singer+'"><div id="plb_item_'+i+'" class="plb_item" onclick="PLBOX.doPlay('+i+');AJLOG.G_mod(4)">'+PLBOX.subLim(PLBOX.toneInfo[i].toneName+"/"+PLBOX.toneInfo[i].singer,10)+'</div></td>');
					sb.append('<td width="20%"><div class="plb_icon2" onclick="PLBOX.doPause();downtonenew('+param+')"></div></td>');
					sb.append('</tr></table>');
				}
				$i("plboxlistinfo").innerHTML = sb.toString();
				//PLBOX.doPlay(0);
			}
			else
			{
				$i("plboxlistinfo").innerHTML = "没有数据";
			}
		});
	},
	subLim : function(str,len)
	{
		if(str.length > len) return str.substring(0,len)+"...";
		else return str;
    },
	getPlayer: function(src)
	{
		if(Sys.ie)
		{
			return '<object id="plboxPlayer" width="0" height="0" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112" align="baseline" border="0" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"><param name="URL" value="'+src+'"><param name="autoStart" value="true"><param name="invokeURLs" value="false"><param name="playCount" value="1"><param name="defaultFrame" value="datawindow"></object>';
		}
		else
		{
			return '<embed id="plboxPlayer" name="plboxPlayer" src="'+src+'" align="baseline" border="0" width="0" height="0" type="application/x-mplayer2" pluginspage="" showcontrols="1" showpositioncontrols="0" showaudiocontrols="1" showtracker="1"  showdisplay="0" showstatusbar="1" autosize="0" showgotobar="0" showcaptioning="0" autostart="1" autorewind="0" animationatstart="0" transparentatstart="0" allowscan="1" enablecontextmenu="1" clicktoplay="0" defaultframe="datawindow" invokeurls="0" loop="1"></embed>';
		}
	},
	doPlay : function(id)
	{
		if(this.toneInfo.length <= 0) return;
		if(typeof(id)=="undefined")
		{
			id = this.curID;
			this.pauseFlag = false;
		}
		else this.curID = id;
        
		path = this.toneInfo[id].toneFile;
		if(path.indexOf("/al/")==-1)
		path = ListenPath+this.toneInfo[id].toneFile;

		if($i("plboxPlayer").controls)
		{
			if(!this.pauseFlag)
			{
				try{ $i("plboxPlayer").URL = path; }catch(e){}
			}
			else
			{
				$i("plboxPlayer").controls.play();
			}
		}
		else
		{
			try{ $i("plboxPlayer").src = path; $i("plboxPlayer").src = path;}catch(e){}
		}

		this.pauseFlag = false;
		$i("plbox_pausebt").style.display="block";
		$i("plbox_playbt").style.display="none";

		$(".plb_item").css({color:"#fff"});
		$i("plb_item_"+id).style.color="#f60";
        
		$i("plbox_info").innerHTML = "<marquee scrollamount='2' direction='left' height='20' width='152'><div style='width:auto'>正在播放:"+this.toneInfo[this.curID].toneName+"/"+this.toneInfo[this.curID].singer+"</div></marquee>";

		this.prog();
	},
	doPause : function()
	{
		$i("plbox_info").innerHTML = "暂停";
		if($i("plboxPlayer").controls)
		{
			$i("plboxPlayer").controls.pause();
			this.pauseFlag = true; 
			window.clearInterval(PLBOX.tid);
		}
		else
		{
			$i("plboxPlayer").src="";
			$i("plboxPlayer").src="";
			this.pauseFlag = false;
		}
		$i("plbox_pausebt").style.display="none";
		$i("plbox_playbt").style.display="block";
	},
	doStop : function()
	{
		$i("plbox_info").innerHTML = "停止";
		if($i("plboxPlayer").controls)
		{
			$i("plboxPlayer").controls.stop();
			this.pauseFlag = false;
			window.clearInterval(PLBOX.tid);
		}
		else
		{
            $i("plboxPlayer").src="";
			$i("plboxPlayer").src="";
			this.pauseFlag = false;
		}
		$i("plbox_pausebt").style.display="none";
		$i("plbox_playbt").style.display="block";
	},
	next : function()
	{
		this.curID = this.curID > (this.toneInfo.length-2) ? 0 : this.curID + 1;
		this.doPlay(this.curID);
	},
	pre : function()
	{
		this.curID = this.curID < 1 ? (this.toneInfo.length-1) : this.curID - 1;
		this.doPlay(this.curID);
	},
	hdlState: function(st)
	{
		switch(st)
		{
			case 2: $i("plbox_info").innerHTML = "暂停";break;
			case 3: $i("plbox_info").innerHTML = "<marquee scrollamount='2' direction='left' height='20' width='152'><div style='width:auto'>正在播放:"+this.toneInfo[this.curID].toneName+"/"+this.toneInfo[this.curID].singer+"</div></marquee>";break;
			case 6: $i("plbox_info").innerHTML = "缓冲中...";break;
			case 8: window.setTimeout(function(){PLBOX.next(); },100);break;
			case 10: $i("plbox_info").innerHTML = "准备就绪";break;
			default : $i("plbox_info").innerHTML = "停止";break;
		}
	},
	prog : function()
	{
		PLBOX.tid = window.setInterval(function(){
		   PLBOX.updProg();
		},100);
	},
	updProg : function()
	{
		try{
			PLBOX.position = Math.round($i("plboxPlayer").controls.currentPosition / $i("plboxPlayer").currentMedia.duration * 210); 
			$i("plboxprogbg").style.width= PLBOX.position+"px"; 
			$i("plboxprogbt").style.marginLeft = PLBOX.position+"px";
		}catch(e){}
		try{
			if($i("plboxPlayer").currentMedia.duration!=0 
				&& ($i("plboxPlayer").controls.currentPosition+0.001) >= $i("plboxPlayer").currentMedia.duration)
			{
			    PLBOX.next();
			}
		}catch(e){}
	},
	init : function()
	{
	    MakeSlider("plbox_volprog","plbox_volslid",0.5,function(v){ 
			try{
				$i("plboxPlayer").settings.volume= Math.round(v*100);
			}catch(e){}
		});
		MakeSlider("plboxprog","plboxprogbt",0,function(v){
		    $i("plboxPlayer").controls.currentPosition = v * $i("plboxPlayer").currentMedia.duration; 
			$i("plboxprogbt").style.left="0px";
			PLBOX.updProg();
		});
		$i("plbox_player").innerHTML = this.getPlayer("");
		this.getInfo();
	}
};

$(function(){
    PLBOX.init();
});