// JavaScript Document

// config ============================================================== config
var blnAutoStart = true;
var blnRndPlay = false; 
var intVolume = 65;
var blnAbs1stTrack = false;
var blnStatusBar = true; 
var blnUseSmi = false;
var blnLoopTrk = false;
var blnShowMmInfo =false;

// view obj ============================================================== view obj
function viewObj(html) { 
   document.write(html); 
} 

var owmp="";
owmp='<OBJECT ID="Exobud" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="0" height="0" border="1" style="width:22px;height:14px;" >';
owmp=owmp + '<param name="enableContextMenu" value="false">';
owmp=owmp + '<param name="uiMode" value="none">';
owmp=owmp + '</OBJECT>';

// main script ============================================================== main script
var objMmInfo = null;
var intMmCnt = 0;
var intSelMmCnt=0;
var intActMmCnt=0;
var intCurrActIdx=0;
var strCurrActTit="nontitle";
var strCurrMediaUrl="";
var strMmInfo ="Media Information";

var blnLonelyPlay=false;
var blnEnabled= false;
var blnEOT=false;
var arrSelMm=null;
var arrActMm=null;
var intExobudStat=0;
var tidTLab=null;
var tidErr=null;
var tidMsg=null;
var intErrCnt=0;
var blnRept=false;
var blnExtMmUsed=false;
var strExtTitle="nontitle"

var intSupremeTrkIdx=0;
var blnAutoProc = true;
var blnElapse=true; 
var intDelay =500;

function wmpInit(){
 var wmpEnabled=Exobud.enabled;
 if(wmpEnabled){intExobudStat=0;}
 else{intExobudStat=3; blnEnabled=false;} //WindowsMedia OLE Error

 var wmps = Exobud.settings;
 var wmpc = Exobud.ClosedCaption;

 wmps.autoStart=true;
 wmps.balance=0;
 wmps.enableErrorDialogs=false;
 wmps.invokeURLs = false;
 wmps.mute=false;
 wmps.playCount=1;
 wmps.rate=1;
 wmps.volume = intVolume;

 if(blnUseSmi){wmpc.captioningID="capText"; capText.style.display="";}
}

function mkMmPath(u, t, f,s){
 this.mmUrl = u;
 var mmChkStr = u;
 mmChkStr = mmChkStr.toLowerCase();
 mmChkStr = mmChkStr.substring(mmChkStr.length - 4 , mmChkStr.length);
 switch(mmChkStr){
  case ".asx":
	this.mmeta="t";
	break;
  case ".wax":
	this.mmeta="t";
	break;
  case ".wvx":
	this.mmeta="t";
	break;
  case ".m3u":
	this.mmeta="t";
	break;
  default:
	this.mmeta="f";
 }

 this.mmTit =t;
 this.mmDur =0;
 this.selMm=f;
 this.actMm=f;
 if(blnUseSmi){this.mmSmi=s;}
}

function mkList(u,t,s,f){
 var cu=u;
 var ct=t;
 var cs=s;
 var cf=f;
 var idx=0;

 if(objMmInfo == null){ objMmInfo=new Array(); idx=0;}
 else{ idx=objMmInfo.length;}

 if(u=="" || u==null){cu="";}
 if(t=="" || t==null){ct="nontitle";}
 if(f=="f" || f=="F"){cf="f";}
 else{cf="t"; intSelMmCnt=intSelMmCnt+1;}

 if(blnUseSmi){ objMmInfo[idx]=new mkMmPath(cu,ct,cf,cs);}
 else{objMmInfo[idx]=new mkMmPath(cu,ct,cf);}

 intActMmCnt=intSelMmCnt;
 intMmCnt=objMmInfo.length;
}

function mkSel(){
 arrSelMm=null;
 intSelMmCnt=0;
 var selidx = 0;

 var wmpEnabled=Exobud.enabled;
 if(!wmpEnabled){intExobudStat=3; blnEnabled=false;return;} //WindowsMedia OLE Error(3)
 if(intMmCnt<=0){intExobudStat=1; blnEnabled=false; return;} //Empty of Media item list(1)

 arrSelMm=new Array();
 for(var i=0; i<intMmCnt;i++){
	if(objMmInfo[i].selMm =="t"){arrSelMm[selidx]=i;selidx=selidx+1;}
 }
 intSelMmCnt=arrSelMm.length;

 if(intSelMmCnt<=0){blnEnabled=false;intExobudStat=2; arrSelMm=null; return;} //none of the selected items(2)
 else{blnEnabled=true; mkAct();} // Activating selected-media items.
}

function mkAct(){
 arrActMm=null;
 intActMmCnt=0;
 var selidx=0;
 var actidx=0;

 if(blnEnabled){
	arrActMm=new Array();
	for(var i=0; i<intSelMmCnt;i++){
		selidx=arrSelMm[i];
		if(objMmInfo[selidx].actMm=="t"){arrActMm[actidx]=selidx; actidx=actidx+1;}
	}
	intActMmCnt=arrActMm.length;
 }
 else{return;}
 if(intActMmCnt<=0){blnEOT=true;arrActMm=null;}
 else{blnEOT=false;}
}


function chkAllSel(){
 for(var i=0; i<intMmCnt; i++){
   objMmInfo[i].selMm="t";
   objMmInfo[i].actMm="t";
 }
 mkSel();
}

function chkAllDesel(){
 for(var i=0; i<intMmCnt; i++){
   objMmInfo[i].selMm="f";
   objMmInfo[i].actMm="f";
 }
 mkSel();
}

function chkItemSel(idx){
 if(objMmInfo[idx].selMm =="t"){objMmInfo[idx].selMm="f";objMmInfo[idx].actMm="f";}
 else{objMmInfo[idx].selMm="t";objMmInfo[idx].actMm="t";}
 mkSel();
}

function chkItemAct(idx){
 objMmInfo[idx].actMm="f";
 mkAct();
}

function mkSelAct(){
 var idx=0;
 for(var i=0; i<intSelMmCnt; i++){
	idx=arrSelMm[i];
	objMmInfo[idx].actMm="t";
 }
 mkAct();
}

function inLink(trk){
 var wmps= Exobud.playState;
 if(wmps==2 || wmps==3){Exobud.controls.stop();}
 blnExtMmUsed=false;

 if(isNaN(parseInt(trk))){etcMsg(6,trk);return;}
 else{
  var innerIdx = parseInt(trk) - 1;
  if(innerIdx<0 || innerIdx>=intMmCnt){
	etcMsg(6,trk);	return;
  }
  else{ 
	blnLonelyPlay=true; 
	intErrCnt=0;
	selMmPlay(innerIdx);
 }
}
}

function outLink(url , tit){
 var wmps= Exobud.playState;
 if(wmps==2 || wmps==3){Exobud.controls.stop();}
 blnExtMmUsed=true;

 var wmpEnabled=Exobud.enabled;
 var wmps=Exobud.settings;
 if(!wmpEnabled){intExobudStat=3;waitMsg();} //WindowsMedia OLE Error(return void)
 else{
 	blnLonelyPlay=true;
	intErrCnt=0;
	strCurrMediaUrl=url;
	if(url==null || url==""){etcMsg(5);return;} //Media URL Empty Error
	if(tit==null || tit==""){strExtTitle="nontitle";}
	else{strExtTitle=tit;}
	strCurrActTit=strExtTitle;
	Exobud.URL=strCurrMediaUrl;
	if(!wmps.autoStart){Exobud.controls.play();}
	disp1.innerHTML= strCurrActTit;
	if(blnStatusBar){window.status=(strCurrActTit);}
 }
}

function initExobud(){
 wmpInit();
 mkSel();
 blnLonelyPlay=false;
 blnExtMmUsed=false;

 if(blnRept){imgChange('rept',1);}
 else{imgChange('rept',0);}

 if(blnLoopTrk){imgChange('tloop',1);}
 else{imgChange('tloop',0);}

 if(blnRndPlay){imgChange('pmode',1);}
 else{imgChange('pmode',0);}
 showTLab();
 disp1.innerHTML="懒人图记！  打开“歌曲列表”可以选择歌曲  www.YanSu.de";
 if(blnStatusBar){window.status=('懒人图记！  www.YanSu.de');}
 if(blnAutoStart){startExobud();}
}

function startExobud(){
 var wmps= Exobud.playState;
 if(Exobud.settings.rate != 1.0){Exobud.settings.rate=1.0; return;}
 if(wmps==2){Exobud.controls.play(); return;} // when pause state
 if(wmps==3){return;} // when play state

 blnLonelyPlay=false;
 if(!blnEnabled){waitMsg();return;}
 if(blnEOT){mkSelAct();}
 if(intErrCnt>0){intErrCnt=0;tidErr=setTimeout('retryPlay(),1000');return;}
 if(isNaN(intSupremeTrkIdx) || intSupremeTrkIdx >= intMmCnt){intSupremeTrkIdx=0;}
 if(blnRndPlay){rndPlay();}
 else{if(objMmInfo[intSupremeTrkIdx].selMm=="t" && objMmInfo[intSupremeTrkIdx].actMm=="t"){intCurrActIdx=intSupremeTrkIdx; selMmPlay(intSupremeTrkIdx);}
	 else{intCurrActIdx=arrActMm[0]; selMmPlay(intCurrActIdx);}
 }
}

function selMmPlay(idx){
 clearTimeout(tidErr);
 if(intExobudStat==3){blnEnabled=false;waitMsg();return;} // WindowsMedia OLE Error
 blnExtMmUsed=false;

 intCurrActIdx=idx;
 var trknum=idx+1;
 var ctit =objMmInfo[idx].mmTit;
 if(ctit=="nontitle"){ctit="Tracing Media Title & Author"}
 if(blnUseSmi){Exobud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;}
 strCurrMediaUrl=objMmInfo[idx].mmUrl;

 if(strCurrMediaUrl=="" || strCurrMediaUrl==null){etcMsg(4);setTimeout('playAuto()', 3000);return;}
 Exobud.URL = strCurrMediaUrl;
 var wmps=Exobud.settings;
 if(!wmps.autoStart){Exobud.controls.play();}
 if(blnAbs1stTrack && intCurrActIdx==intSupremeTrkIdx){strCurrActTit="[SupremeTrack:" + trknum + "] " + ctit;}
 else{strCurrActTit= " "+ trknum + ". " + ctit;}
 disp1.innerHTML = strCurrActTit;
 if(blnStatusBar){window.status=(strCurrActTit);}
 chkItemAct(intCurrActIdx); 
}

function wmpPlay(){Exobud.controls.play();}

function wmpStop(){
 intErrCnt=0;
 clearTimeout(tidErr);
 clearInterval(tidTLab);
 imgChange("stopt",1);
 imgChange("pauzt",0);
 showTLab();
 mkSelAct();
 Exobud.controls.stop();
 Exobud.close();
 disp1.innerHTML=" 等待播放";
 if(blnStatusBar){window.status=(' 等待播放');return true;}
}

function wmpPause(){Exobud.controls.pause();}

function wmpPP(){
 var wmps = Exobud.playState;
 var wmpc=Exobud.controls;
 clearInterval(tidTLab);
 clearTimeout(tidMsg);
 if (wmps == 2) {wmpc.play();}
 if (wmps == 3) {wmpc.pause();disp2.innerHTML="暂停"; tidMsg=setTimeout('rtnTLab()',1500);}
 return;
}

function fastRew(){
 clearInterval(tidTLab);
 var wmpfr=Exobud.controls.isAvailable("FastReverse")
 if(wmpfr){Exobud.controls.fastReverse();
	disp2.innerHTML="快退"
 }
 else{
	disp2.innerHTML="无法快退";
	}
}

function fastFwd(){
 clearInterval(tidTLab);
 var wmpff=Exobud.controls.isAvailable("FastForward")
 if(wmpff){Exobud.controls.fastForward();
	disp2.innerHTML="快进"
 }
 else{
	disp2.innerHTML="无法快进"
	}
}

function endFwd(){
  if(Exobud.settings.rate >1.0){Exobud.settings.rate=1.0;}
  else{tidTLab=setInterval('showTLab()',1000);}
}

function endRew(){
 if(Exobud.settings.rate <1.0){Exobud.settings.rate=1.0;}
 else{ tidTLab=setInterval('showTLab()',1000);}
}

function rndPlay(){
 if(!blnEnabled){waitMsg();return;}
 intErrCnt=0;
 if(blnAbs1stTrack){
	 // if(isNaN(intSupremeTrkIdx) || intSupremeTrkIdx >= intMmCnt){intSupremeTrkIdx=0;} //startExobud()Լ ܿ ȣϴ  ؾ
	 if(objMmInfo[intSupremeTrkIdx].selMm=="t" && objMmInfo[intSupremeTrkIdx].actMm=="t"){intCurrActIdx=intSupremeTrkIdx;selMmPlay(intSupremeTrkIdx);}
	 else{ var idx=Math.floor(Math.random() * intActMmCnt);
		 intCurrActIdx= arrActMm[idx];
		 selMmPlay(intCurrActIdx);}
 }
 else{ var idx=Math.floor(Math.random() * intActMmCnt);
	 intCurrActIdx= arrActMm[idx];
	 selMmPlay(intCurrActIdx);} 

}

function playAuto(){
 var wmps=Exobud.playState;
 if(wmps>1 && wmps<10){return;} // Important logic for plaing META(ASX) Files

 if(!blnAutoProc){wmpStop();return;}
 if(blnLonelyPlay){wmpStop(); return;} 
 if(!blnEnabled){wmpStop();return;}
 if(blnEOT){ if(blnLoopTrk){startExobud();}
	   else{wmpStop();}
 }
 else{  if(blnRndPlay){rndPlay();}
	else{ 	//Play a new Indexed media item.
		intErrCnt=0;
		var idx=intCurrActIdx;
	 	var blnFind=false;
		for(var i=0;i<intSelMmCnt;i++){	if(intCurrActIdx==arrSelMm[i]){idx=i+1; blnFind=true;}}
		if(!blnFind){return;}
		if(idx>=intSelMmCnt){idx=0;intCurrActIdx=arrSelMm[idx];}
		else{intCurrActIdx=arrSelMm[idx];}
		selMmPlay(intCurrActIdx); 
	}

 }
}

function selPlPlay(idx){
 var wmps= Exobud.playState;
 if(wmps==2 || wmps==3){Exobud.controls.stop();}

 blnLonelyPlay=false; 
 intErrCnt=0;
 selMmPlay(idx);
}


function playPrev(){
 var wmps= Exobud.playState;
 if(wmps==2 || wmps==3){Exobud.controls.stop();}
 blnLonelyPlay=false;
 if(!blnEnabled){waitMsg();return;}
 if(blnEOT){mkSelAct();}

 intErrCnt=0;
 if(blnRndPlay){rndPlay();}
 else{	var idx=intCurrActIdx;
 	var blnFind=false;
	for(var i=0;i<intSelMmCnt;i++){if(intCurrActIdx==arrSelMm[i]){idx=i-1; blnFind=true;}}
	if(!blnFind){startExobud();return;}
	if(idx<0){idx=intSelMmCnt-1;intCurrActIdx=arrSelMm[idx];}
	else{intCurrActIdx=arrSelMm[idx];}
	selMmPlay(intCurrActIdx);
 }
}

function playNext(){
 var wmps= Exobud.playState;
 if(wmps==2 || wmps==3){Exobud.controls.stop();}
 blnLonelyPlay=false;
 if(!blnEnabled){waitMsg();return;}
 if(blnEOT){mkSelAct();}

 intErrCnt=0;
 if(blnRndPlay){rndPlay();}
 else{	var idx=intCurrActIdx;
 	var blnFind=false;
	for(var i=0;i<intSelMmCnt;i++){	if(intCurrActIdx==arrSelMm[i]){idx=i+1; blnFind=true;}}
	if(!blnFind){startExobud();return;}
	if(idx>=intSelMmCnt){idx=0;intCurrActIdx=arrSelMm[idx];}
	else{intCurrActIdx=arrSelMm[idx];}
	selMmPlay(intCurrActIdx);
 }
}

function retryPlay(){
 var wmps=Exobud.settings;
 Exobud.URL=strCurrMediaUrl;
 if(!wmps.autoStart){Exobud.controls.play();}
}

function chkRept(){
 var wmps=Exobud.playState;
 if(wmps == 3){clearInterval(tidTLab);}
 if(blnRept){Exobud.settings.playCount=1;blnRept=false; imgChange('rept',0);disp2.innerHTML="正常播放";}
 else{Exobud.settings.playCount=65535;blnRept=true; imgChange('rept',1);disp2.innerHTML="重复播放";}
 tidMsg= setTimeout('rtnTLab()',1000);
}

function chgPMode(){
 var wmps=Exobud.playState;
 if(wmps == 3){clearInterval(tidTLab);}
 if(blnRndPlay){Exobud.settings.setMode("shuffle", false);
	blnRndPlay=false; imgChange('pmode',0);disp2.innerHTML="顺序播放";}
 else{Exobud.settings.setMode("shuffle", true); 
	blnRndPlay=true; imgChange('pmode',1);disp2.innerHTML="随机播放";}
 tidMsg=setTimeout('rtnTLab()',1000); 
}

function chgTrkLoop(){
 var wmps=Exobud.playState;
 if(wmps == 3){clearInterval(tidTLab);}
 if(blnLoopTrk){blnLoopTrk=false; imgChange('tloop',0);disp2.innerHTML="正常播放";}
 else{blnLoopTrk=true; imgChange('tloop',1);disp2.innerHTML="循环播放";}
 tidMsg=setTimeout('rtnTLab()',1000); 
}

function evtOSChg(f){
 if(f==8 && blnUseSmi){capText.innerHTML="";}
 if(f==9){disp2.innerHTML="定位中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...媒体定位中)');}} //display 'buffering' image
 if(f==10){disp2.innerHTML="连接中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...媒体连接中)');}} //display 'buffering' image
 if(f==11){disp2.innerHTML="读取中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...媒体读取中)');}} //display 'buffering' image
 if(f==12){disp2.innerHTML="打开中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...媒体打开中)');}} //display 'buffering' image
 if(f==20){disp2.innerHTML="等待中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...媒体等待中)');}} //display 'buffering' image
 if(f==21){disp2.innerHTML="打开中"; imgChange("playt",6); if(blnStatusBar){window.status=('(等待...未知链接)');}} //display 'buffering' image
 if(f==13){
	var strTitle = Exobud.currentMedia.getItemInfo("名称");
	if(strTitle.length <=0){strTitle = "未知"}
	var strAuthor = Exobud.currentMedia.getItemInfo("作者");
	if(strAuthor.length <=0){strAuthor = "未知"}
	var strCopy = Exobud.currentMedia.getItemInfo("版权");
	if(strCopy.length <=0){strCopy = "未知"}
	var strType = Exobud.currentMedia.getItemInfo("类型");
	var strBitrate = Exobud.currentMedia.getItemInfo("比特率");
	var strBandwidth =  Exobud.network.bandwidth;
	var strDur=Exobud.currentMedia.durationString;
	var strUrl =Exobud.currentMedia.sourceURL;


	strMmInfo= "Media Title : " + strTitle + "\n\n"
	strMmInfo= strMmInfo + "Media Author : " + strAuthor + "\n\n"
	strMmInfo= strMmInfo + "Media URL : " +strUrl + "\n\n"
	strMmInfo= strMmInfo + "Media Copyright : " + strCopy +"\n\n" 
	strMmInfo= strMmInfo + "Media Type : " +strType +"\n\n"
	strMmInfo= strMmInfo + "Media Duration : " +strDur +"\n\n"
	strMmInfo= strMmInfo + "Media Bitrate : " + parseInt(strBitrate/1000) + " kbit/sec \n\n"
	strMmInfo= strMmInfo + "Media Bandwidth : " + parseInt(strBandwidth/1000) + " KHz \n\n"
	strMmInfo= strMmInfo + " (C)Copyright ExoBUD MPlayer(II) 1998-2006  \n";
	if(blnShowMmInfo){alert(strMmInfo);}


	if(blnExtMmUsed){
		if(strExtTitle=="nontitle"){strExtTitle="LoadTitle";}
		strCurrActTit=strExtTitle + "(Info: " + strAuthor + " - " + strTitle + ")";
		disp1.innerHTML = strCurrActTit;
		if(blnStatusBar){window.status=(strCurrActTit);}
	return;
	}

	var trknum=intCurrActIdx+1;
	var ctit = objMmInfo[intCurrActIdx].mmTit;

	if(ctit=="nontitle" && objMmInfo[intCurrActIdx].mmeta=="f"){ 
		objMmInfo[intCurrActIdx].mmTit = "(Title) " + strAuthor + " - " + strTitle;
		ctit="(Info) " + strAuthor + " - " + strTitle;
		if(blnAbs1stTrack && intCurrActIdx==intSupremeTrkIdx){strCurrActTit= "[SupremeTrack:" + trknum + "] " + ctit;}
		else{strCurrActTit= " "+ trknum + ". " + ctit; }
	}

	if(objMmInfo[intCurrActIdx].mmeta=="t"){
		if(ctit=="nontitle"){
			if(blnAbs1stTrack && intCurrActIdx==intSupremeTrkIdx){strCurrActTit="[SupremeTrack:"+ trknum +"] " + " ASXmode (Title:" + strAuthor + "- " + strTitle + ")" ;}
			else{strCurrActTit= " "+trknum + ". " + " ASXmode (Title:" + strAuthor +"- "+strTitle+")";}}
		else{
			if(blnAbs1stTrack && intCurrActIdx==intSupremeTrkIdx){strCurrActTit="[SupremeTrack:"+trknum+"] " + ctit + " (Title:" + strAuthor +"- "+strTitle+")";}
			else{strCurrActTit= " "+trknum + ". " + ctit + " (Title:" + strAuthor +"- "+strTitle+")";}
		}
	}
	disp1.innerHTML = strCurrActTit;

 }
}

function evtPSChg(f){
 switch(f){
	case 1:
		evtStop();
		break;
	case 2:
		evtPause();
		break;
	case 3:
		evtPlay();
		break;
	case 7:
		evtWait();
		break;
	case 8:
		setTimeout('playAuto()', intDelay);
		break;
 }
}

function evtWmpBuff(f){
 if(f){ disp2.innerHTML = "正在缓冲";
	var msg="(正在缓冲) " + strCurrActTit;
	disp1.innerHTML = msg;
	imgChange("playt",6);
	if(blnStatusBar){window.status=(msg);}
 }
 else{ disp1.innerHTML = strCurrActTit; showTLab(); imgtog('playt',3);}
}

function evtWmpError(){
 intErrCnt=intErrCnt+1;
 Exobud.Error.clearErrorQueue();
 imgChange("pauzt",0);
 imgChange("playt",0);
 if(intErrCnt<=3){
	strCurrMediaUrl=Exobud.URL;
	disp2.innerHTML="重试("+intErrCnt+")";
	var msg="(重试:" + intErrCnt +") " +strCurrActTit;
	disp1.innerHTML="<ERROR> " +strCurrActTit;
	if(blnStatusBar){window.status=(msg);}
	tidErr=setTimeout('retryPlay()',1000);
 }
 else{	clearTimeout(tidErr);
	intErrCnt=0;showTLab();
	var msg=" 准备播放";
	disp1.innerHTML=msg;
	if(blnStatusBar){window.status=(msg);}	
	if(!blnLonelyPlay && blnAutoProc){setTimeout('playAuto()',1000);}
 }
}


function evtWait(){
 disp2.innerHTML="等待";
 if(blnStatusBar){window.status=('(等待...媒体等待中)');}
 imgChange("playt",6); //display 'buffering' image
}

function evtStop(){
 clearTimeout(tidErr);
 clearInterval(tidTLab);
 showTLab();
 intErrCnt=0;
 imgtog('vmute',3); //recover abnormal 'mute' image
 imgChange("pauzt",0);
 imgChange("playt",0);
 disp1.innerHTML=" 等待播放";
 if(blnStatusBar){window.status=(' 等待播放');return true;}
}

function evtPause(){
 imgChange("pauzt",1)
 imgChange("playt",0);
 imgChange("stopt",0);
 clearInterval(tidTLab);
 showTLab();
}

function evtPlay(){
 imgChange("pauzt",0)
 imgChange("playt",1);
 imgChange("stopt",0);
 imgtog('vmute',3); //recover abnormal 'mute' image
 tidTLab=setInterval('showTLab()',1000);
}

function showTLab(){
 var ps=Exobud.playState;
 if(ps==2 || ps==3){
	var cp=Exobud.controls.currentPosition
	var cps=Exobud.controls.currentPositionString
	var dur=Exobud.currentMedia.duration;
	var durs=Exobud.currentMedia.durationString;
	if(isNaN(dur) || dur==0){durs="(AIR)";}
	if(blnElapse){disp2.innerHTML= cps+" | "+durs;
		var msg=strCurrActTit + " ("+cps+" | "+durs+ ")";
		if(ps==2){msg="(暂停) "+ msg;}
		if(blnStatusBar){window.status=(msg);return true;}
	}
	else{var lapse
		if(isNaN(dur) || dur==0){strLapse="Live";}
	 	else{lapse=dur-cp; var strLapse=wmpTime(lapse);}
		disp2.innerHTML= strLapse + " | "+durs;
		var msg= strCurrActTit + " (" + strLapse + " | "+durs + ")";
		if(ps==2){msg="(暂停) "+ msg;}
		if(blnStatusBar){window.status=(msg);return true;}
	}

 }
 else{disp2.innerHTML="00:00 | 00:00";}
}

function chgTimeFmt(){
 var wmps=Exobud.playState;
 if(wmps == 3){clearInterval(tidTLab);}
 if(blnElapse){blnElapse=false; disp2.innerHTML="剩余时间";}
 else{blnElapse=true;disp2.innerHTML="播放时间";}
 tidMsg=setTimeout('rtnTLab()',1000); 
}

function rtnTLab(){
clearTimeout(tidMsg);
var wmps=Exobud.playState;
if(wmps == 3){tidTLab=setInterval('showTLab()',1000);}
else{showTLab();}
}

function wmpTime(dur){
 if(isNaN(dur) || dur==0){return "Live";}
 var hh, min, sec, timeLabel
 hh = Math.floor(dur/3600);
 min = Math.floor(dur / 60)%60;
 sec = Math.floor(dur % 60);
 if (isNaN(min)){ return "00:00"; }
 if (isNaN(hh) || hh==0){timeLabel="";}
 else{
 	if(hh >9){timeLabel = hh.toString()+":";}
 	else{timeLabel="0"+hh.toString() +":";}
 }
 if ( min > 9 ){  timeLabel = timeLabel + min.toString() + ":"; }
 else {timeLabel = timeLabel + "0" +min.toString() + ":";}
 if ( sec > 9 ){timeLabel = timeLabel + sec.toString();}
 else{timeLabel = timeLabel + "0" + sec.toString();}
 return timeLabel;
}

function wmpMute(){ // ExoBUD MP(II) Mute 
 var wmps=Exobud.playState;
 if(wmps == 3){clearInterval(tidTLab);}
 var ps = Exobud.settings;
 if(!ps.mute){ps.mute = true;disp2.innerHTML="静音打开"; imgChange("vmute", 1);}
 else {ps.mute = false;disp2.innerHTML="静音关闭"; imgChange("vmute", 0)}
 tidMsg=setTimeout('rtnTLab()',1000);
}

function prnVol(){disp2.innerHTML= "音量 " + Exobud.settings.Volume + "%";}

function waitMsg(){
 var outMsg="";
 if(blnUseSmi){capText.innerHTML="";}
 switch(intExobudStat){
	case 1 :
		outMsg="Sorry, Not found registered Media Items";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
		break;
	case 2 :
		outMsg="请从歌曲列表中选择歌曲";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg); return true;}
		break;
	case 3 :
		outMsg="Warning: MS-Windows Media Player OLE Error";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
		break;

	default :
		outMsg="懒人图记！  www.YanSu.de";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
 }
}

function etcMsg(f, e1, e2){
 var outMsg="";
 if(blnUseSmi){capText.innerHTML="";}
 switch(f){
	case 4 :
		outMsg="Warning: Track "+ (intCurrActIdx+1) + ". is unregistered Media URL or Empty";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
		break;

	case 5 :
		outMsg="Warning: Abnormal Extrnal-Media URL or Empty Error";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
		break;
	case 6 :
		outMsg="抱歉，没有发现媒体：" + e1 ;
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
		break;
	default :
		outMsg="懒人图记！  www.YanSu.de";
		disp1.innerHTML=outMsg;
		if(blnStatusBar){window.status=(outMsg);return true;}
 }
}

var strWinWidth ="280px" ;
var strWinHeight = "500px" ;
var strWinPosTop ="150px" ;
var strWinPosLeft = "250px" ;
var strWinOptions ="scrollbars=auto , resizable=no , copyhistory=no, toolbar=no, status=no ";

function openPlist() { // ExoBUD MP(II) List Popping Up
	window.open("player_list.html" , "mplist", "width=" + strWinWidth + " , height=" + strWinHeight +  " , top=" + strWinPosTop + ", left=" + strWinPosLeft + strWinOptions );
}


function fullScreen(){
 var wmps=Exobud.playState;
 if(wmps==2 || wmps==3 ){ Exobud.fullscreen=true;}
}

function chkWmpState(){
 return Exobud.playState;
}

function chkWmpOState(){
 return Exobud.openState;
}

function chkOnline(){
return Exobud.isOnline;
}

function vizExobud(){
  window.open("http://www.yansu.de","Go to YanSu.de");
}


 toggleKey =new Object();
 toggleKey[0] = "_off";
 toggleKey[1] = "_on";
 toggleKey[2] = "_ovr";
 toggleKey[3] = "_out";
 toggleKey[4] = "_mdn";
 toggleKey[5] = "_mup";
 toggleKey[6] = "_buf";
 toggleKey[7] = "_onovr";
 toggleKey[8] = "_offovr";
 toggleKey[9] = "_etc";

function imgChange(id , act){
	if(document.images){ document.images[id].src = eval("img."+ id + toggleKey[act] + ".src");}
}

 if(document.images){
	img = new Object();
	
	img.pmode_off = new Image();
	img.pmode_off.src = "img/btn_off.gif";
	img.pmode_on = new Image();
	img.pmode_on.src = "img/btn_on.gif";
	img.pmode_ovr = new Image();
	img.pmode_ovr.src = "img/btn_ovr.gif";

	img.tloop_off = new Image();
	img.tloop_off.src = "img/btn_off.gif";
	img.tloop_on = new Image();
	img.tloop_on.src = "img/btn_on.gif";
	img.tloop_ovr = new Image();
	img.tloop_ovr.src = "img/btn_ovr.gif";

	img.rept_off = new Image();
	img.rept_off.src = "img/btn_off.gif";
	img.rept_on = new Image();
	img.rept_on.src = "img/btn_on.gif";
	img.rept_ovr = new Image();
	img.rept_ovr.src = "img/btn_ovr.gif";

	img.playt_off = new Image();
	img.playt_off.src = "img/btn_off.gif";
	img.playt_on = new Image();
	img.playt_on.src = "img/btn_on.gif";
	img.playt_ovr = new Image();
	img.playt_ovr.src = "img/btn_ovr.gif";
	img.playt_buf = new Image();
	img.playt_buf.src = "img/btn_buf.gif";

	img.pauzt_off = new Image();
	img.pauzt_off.src = "img/btn_off.gif";
	img.pauzt_on = new Image();
	img.pauzt_on.src = "img/btn_on.gif";
	img.pauzt_ovr = new Image();
	img.pauzt_ovr.src = "img/btn_ovr.gif";

	img.stopt_off = new Image();
	img.stopt_off.src = "img/btn_off.gif";
	img.stopt_on = new Image();
	img.stopt_on.src = "img/btn_on.gif";
	img.stopt_ovr = new Image();
	img.stopt_ovr.src = "img/btn_ovr.gif";

	img.rwdt_off = new Image();
	img.rwdt_off.src = "img/btn_off.gif";
	img.rwdt_on = new Image();
	img.rwdt_on.src = "img/btn_on.gif";
	img.rwdt_ovr = new Image();
	img.rwdt_ovr.src = "img/btn_ovr.gif";

	img.fwdt_off = new Image();
	img.fwdt_off.src = "img/btn_off.gif";
	img.fwdt_on = new Image();
	img.fwdt_on.src = "img/btn_on.gif";
	img.fwdt_ovr = new Image();
	img.fwdt_ovr.src = "img/btn_ovr.gif";

	img.prevt_off = new Image();
	img.prevt_off.src = "img/btn_off.gif";
	img.prevt_on = new Image();
	img.prevt_on.src = "img/btn_on.gif";
	img.prevt_ovr = new Image();
	img.prevt_ovr.src = "img/btn_ovr.gif";

	img.nextt_off = new Image();
	img.nextt_off.src = "img/btn_off.gif";
	img.nextt_on = new Image();
	img.nextt_on.src = "img/btn_on.gif";
	img.nextt_ovr = new Image();
	img.nextt_ovr.src = "img/btn_ovr.gif";

	img.vmute_off = new Image();
	img.vmute_off.src = "img/btn_off.gif";
	img.vmute_on = new Image();
	img.vmute_on.src = "img/btn_on.gif";
	img.vmute_ovr = new Image();
	img.vmute_ovr.src = "img/btn_ovr.gif";

	img.plist_out = new Image();
	img.plist_out.src = "img/btn_off.gif";
	img.plist_ovr = new Image();
	img.plist_ovr.src = "img/btn_ovr.gif";

	img.iexobud_out = new Image();
	img.iexobud_out.src = "img/btn_off.gif";
	img.iexobud_ovr = new Image();
	img.iexobud_ovr.src = "img/btn_ovr.gif";

	img.impact_out = new Image();
	img.impact_out.src = "img/btn_off.gif";
	img.impact_ovr = new Image();
	img.impact_ovr.src = "img/btn_ovr.gif";

}

function imgtog(tg , act){
 if(tg=="vmute"){
	if(act=="2"){ imgChange("vmute", 2);}
	else{imgmute();}
 }

 if(tg=="pmode"){
	if(act=="2"){ imgChange("pmode", 2);}
	else{imgrnd();}	
 }

 if(tg=="rept"){
	if(act=="2"){ imgChange("rept", 2);}
	else{imgrept();}	
 }

 if(tg=="nextt"){
	if(act=="2"){ imgChange("nextt", 2);}
	else{imgChange("nextt",3);}	
 }

 if(tg=="prevt"){
	if(act=="2"){ imgChange("prevt", 2);}
	else{imgChange("prevt",3);}	
 }

 if(tg=="pauzt"){
	if(act=="2"){ imgpauz(2);}
	else{imgpauz();}
}

 if(tg=="playt"){
	if(act=="2"){ imgplay(2);}
	else{imgplay();}
}

 if(tg=="stopt"){
	if(act=="2"){ imgstop(2);}
	else{imgstop();}
}

 if(tg=="plist"){
	if(act=="2"){ imgChange("plist", 2);}
	else{imgChange("plist",3);}	
 }

 if(tg=="tloop"){
	if(act=="2"){ imgChange("tloop", 2);}
	else{imgtloop("plist",3);}	
 }

 if(tg=="iexobud"){
	if(act=="2"){ imgChange("iexobud", 2);}
	else{imgChange("iexobud",3);}	
 }

 if(tg=="impact"){
	if(act=="2"){ imgChange("impact", 2);}
	else{imgChange("impact",3);}	
 }

}

function imgmute(){
 var ps=Exobud.settings;
 if(ps.mute){ imgChange("vmute",1);}
 else{imgChange("vmute",0);}
}

function imgrnd(){
 if(blnRndPlay){imgChange("pmode", 1);}
 else{imgChange("pmode", 0);}
}

function imgrept(){
 if(blnRept){imgChange("rept", 1);}
 else{imgChange("rept", 0);}
}

function imgpauz(f){
 var wmps=Exobud.playState;
 if(f==2){imgChange("pauzt",2);}
 else{ if(wmps==2){imgChange("pauzt",1);}
	else{imgChange("pauzt",0);}
 }
}

function imgplay(f){
 var wmps=Exobud.playState;
 if(f==2){ imgChange("playt",2);}
 else{ if(wmps==3){imgChange("playt",1);}
	else{imgChange("playt",0);}
 }
}

function imgstop(f){
 var wmps=Exobud.playState;
 if(f==2){ imgChange("stopt",2);}
 else{ if(wmps==2 || wmps==3){imgChange("stopt",0);}
	else{imgChange("stopt",1);}
	
 }
}

function imgtloop(){
 if(blnLoopTrk){imgChange("tloop", 1);}
 else{imgChange("tloop", 0);}
}



