﻿<!--
//
//============================================================???????????====
//ExoBUD MP(II) v4.1tc+ [Traditional Chinese Version]
//Copyright(Pe) 1999-2003 Jinwoong Yu[ExoBUD], Kendrick Wong[kiddiken.net].yune_lee[liyu.net]
//======================================================================================
//?????: ???(Jinwoong Yu) 
//????: http://exobud.nayana.org 
//????: exobud@hanmail.net
//???????: ??(Kendrick Wong/kiddiken)
//????: http://kiddiken.net
//????: webmaster@kiddiken.net
//???????: liyu(yune_lee)
//????: http://www.liyu.net
//????: yune_lee@163.net
//0ICQ ??: 4410162
//????: 2003.01.10(???????) 
//????: 2003.03.23(????????)
//????: 2003.05.22(????????)
//======================================================================================
//?????
//????????: ??????? ExoBUD MP(II) ????????(???)??,??
//*??*???????????,????(???)??????????????????
//???????????????????????,??????????,?/??????,
//????????????,??????????????,????????
//??????(???)????????????????????,
//????????????????????????????,????????????
//????????,??????????????
//??,????????(?????)?????????(?????)?????????
//?????????????????????,???????????????????
//======================================================================================
// ????????????,???????????,?????????????????
// ??????;???????JavaScript?????????????,?????????
var objMmInfo = null;
var intMmCnt = 0;
var intSelMmCnt = 0;
var intActMmCnt = 0;
var cActIdx = 0;
var cActTit = "nAnT";
var strMmInfo = "ExoBUD ??????";
var blnfpl = 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;
// ??????????????????,???????????????????
// ????????????????(??:MV)??,?????????? false ?
// true = ??????
// false = ????????,?????????????
var blnAutoProc = true;
// ???????????????,????????(Elapse)??????(Lapse)??:
// true = ???????????,??????????????
// false = ???????????,?????????????
var blnElaps = true;
// ???????????????(Delay Time),?????(msec)?
// ?100????0.1?,????500??(?0.5?),??????100???
var intDelay = 500;
// wmpInit() ??: ?? wmp-obj v7.x ?????????
function wmpInit(){
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 = 100;
if(blnUseSmi){wmpc.captioningID="capText"; capText.style.display="";}
Exobud.enabled = true;
}
// mkMmPath() ??: ???? Multi-object ???
function mkMmPath(u,t,f,s){
this.mmUrl = u;
this.mmTit = t;
this.mmDur = 0;
this.selMm = f;
this.actMm = f;
if(blnUseSmi){this.mmSmi=s;}
}
// mkList() ??: ?? Multi-object ???
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="mms://";}
if(t=="" || t==null){ct="nAnT";}
if(f=="f" || f=="F"){cf="f";}
else {cf="t"; intSelMmCnt++;}
if(blnUseSmi){
objMmInfo[idx]=new mkMmPath(cu,ct,cf,cs);
} else {
objMmInfo[idx]=new mkMmPath(cu,ct,cf);
}
intActMmCnt = intSelMmCnt;
intMmCnt = objMmInfo.length;
}
// mkSel() ??: ?????????(Selected Media)???
function mkSel(){
arrSelMm = null;
intSelMmCnt = 0;
var selidx = 0;
if(intMmCnt<=0){intExobudStat=1; blnEnabled=false; return;} // ??????????
arrSelMm = new Array();
for(var i=0; i<intMmCnt; i++){
if(objMmInfo[i].selMm =="t"){arrSelMm[selidx]=i;selidx++;}
}
intSelMmCnt=arrSelMm.length;
if(intSelMmCnt<=0){blnEnabled=false; intExobudStat=2; arrSelMm=null; return;}
else {blnEnabled=true; mkAct();}
}
// mkAct() ??: ?????????(Activated Media)???
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++;}
}

intActMmCnt=arrActMm.length;
}
else { return;}
if(intActMmCnt<=0){blnEOT=true;arrActMm=null;}
else {blnEOT=false;}
}
// chkAllSel() ??: ?????????????
function chkAllSel(){
for(var i=0; i<intMmCnt; i++){
objMmInfo[i].selMm="t";
objMmInfo[i].actMm="t";
}
mkSel();
}
// chkAllDesel() ??: ????????????
function chkAllDesel(){
for(var i=0; i<intMmCnt; i++){
objMmInfo[i].selMm="f";
objMmInfo[i].actMm="f";
}
mkSel();
}
// chkItemSel() ??: ????????????
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();
}
// chkItemAct() ??: ??????????(Activated Media)??
function chkItemAct(idx){
objMmInfo[idx].actMm="f";
mkAct();
}
// mkSelAct() ??: ????????(Selected Media)??????????(Activated Media)
function mkSelAct(){
var idx=0;
for(var i=0; i<intSelMmCnt; i++){
idx=arrSelMm[i];
objMmInfo[idx].actMm="t";
}
mkAct();
}
// initExobud() ??: ??? ExoBUD MP(II) ??????
function initExobud(){
wmpInit();
mkSel();
blnfpl = false;
if(!blnShowVolCtrl) {
document.images['vmute'].style.display = "none";
document.images['vdn'].style.display = "none";
document.images['vup'].style.display = "none";
}
if(!blnShowPlist){ document.images['plist'].style.display = "none";}
if(blnRept){imgChange('rept',1);}
else {imgChange('rept',0);}
if(blnRndPlay){imgChange('pmode',1);}
else {imgChange('pmode',0);}
showTLab();
disp1.innerHTML = "ExoBUD MP(II) v4.1tc+ ????????(liyu.net???????)";
if(blnStatusBar){ window.status=('ExoBUD MP(II) v4.1tc+ ????????(liyu.net???????)');}
if(blnAutoStart){startExobud();}
}
// startExobud() ??: ??????
function startExobud(){
var wmps = Exobud.playState;
if(wmps==2){Exobud.controls.play(); return;}
if(wmps==3){ return;}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
if(blnEOT){mkSelAct();}
if(intErrCnt>0){intErrCnt=0;tidErr=setTimeout('retryPlay(),1000');return;}
if(blnRndPlay){rndPlay();}
else {cActIdx=arrActMm[0]; selMmPlay(cActIdx);}
}
// selMmPlay() ??: ??????
function selMmPlay(idx){
clearTimeout(tidErr);
cActIdx=idx;
var trknum=idx+1;
var ctit =objMmInfo[idx].mmTit;
if(ctit=="nAnT"){ctit="(??????)"}
if(blnUseSmi){Exobud.ClosedCaption.SAMIFileName = objMmInfo[idx].mmSmi;}
Exobud.URL = objMmInfo[idx].mmUrl;
cActTit = "T" + trknum + ". " + ctit;
disp1.innerHTML = cActTit;
if(blnStatusBar){ window.status=(cActTit);}
chkItemAct(cActIdx);
}
// wmpPlay() ??: ?? wmp-obj v7.x ???????
function wmpPlay(){Exobud.controls.play();}
// wmpStop() ??: ?????????????????
function wmpStop(){
intErrCnt=0;
clearTimeout(tidErr);
clearInterval(tidTLab);
imgChange("stopt",1);
imgChange("pauzt",0);
imgChange("scope",0);
showTLab();
mkSelAct();
Exobud.controls.stop();
Exobud.close();
disp1.innerHTML = "ExoBUD MP(II) v4.1tc+ ????????(liyu.net???????) [??]";
if(blnStatusBar){ window.status=('ExoBUD MP(II) v4.1tc+ ????????(liyu.net???????) [??]');return true;}
}
// wmpPause() ??: ?? wmp-obj v7.x ?????????
function wmpPause(){Exobud.controls.pause();}
// wmpPP() ??: ????????????????
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;
}
// rndPlay() ??: ????(Random Play)?????
function rndPlay(){
if(!blnEnabled){waitMsg();return;}
intErrCnt=0;
var idx=Math.floor(Math.random() * intActMmCnt);
cActIdx=arrActMm[idx];
selMmPlay(cActIdx);
}
// playAuto() ??: ?????????????????????
// ?????? blnAutoProc ???????????
function playAuto(){
if(blnRept){selMmPlay(cActIdx);return;}
if(!blnAutoProc){wmpStop();return;}
if(blnfpl){wmpStop();return;}
if(!blnEnabled){wmpStop();return;}
if(blnEOT){
if(blnLoopTrk){startExobud();}
else {wmpStop();}
} else {
if(blnRndPlay){rndPlay();}
else {cActIdx=arrActMm[0]; selMmPlay(cActIdx);}
}
}
// ???????????????????
function selPlPlay(idx){
blnfpl=true;
selMmPlay(idx);
}
// playPrev() ??: ????????????
function playPrev(){
var wmps = Exobud.playState;
if(wmps==2 || wmps==3){Exobud.controls.stop();}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
if(blnEOT){mkSelAct();}
intErrCnt=0;
if(blnRndPlay){rndPlay();}
else {
var idx=cActIdx;
var blnFind=false;
for(var i=0;i<intSelMmCnt;i++){ if(cActIdx==arrSelMm[i]){idx=i-1; blnFind=true;}}
if(!blnFind){startExobud();return;}
if(idx<0){idx=intSelMmCnt-1;cActIdx=arrSelMm[idx];}
else {cActIdx=arrSelMm[idx];}
selMmPlay(cActIdx);
}
}
// playNext() ??: ????????????
function playNext(){
var wmps = Exobud.playState;
if(wmps==2 || wmps==3){Exobud.controls.stop();}
blnfpl=false;
if(!blnEnabled){waitMsg();return;}
if(blnEOT){mkSelAct();}
intErrCnt=0;
if(blnRndPlay){rndPlay();}
else {
var idx=cActIdx;
var blnFind=false;
for(var i=0;i<intSelMmCnt;i++){ if(cActIdx==arrSelMm[i]){idx=i+1; blnFind=true;}}
if(!blnFind){startExobud();return;}
if(idx>=intSelMmCnt){idx=0;cActIdx=arrSelMm[idx];}
else {cActIdx=arrSelMm[idx];}
selMmPlay(cActIdx);
}
}
// retryPlay() ??: ???????????
function retryPlay(){
selMmPlay(cActIdx);
}
// chkRept() ??: ?????????????(???????)
function chkRept(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnRept){
blnRept=false; imgChange('rept',0); disp2.innerHTML="?????";
} else {
blnRept=true; imgChange('rept',1); disp2.innerHTML="????";
}
tidMsg=setTimeout('rtnTLab()',1000);
}
// chgPMode() ??: ?????(Sequential)????(Random)??????????
function chgPMode(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnRndPlay){
blnRndPlay=false; imgChange('pmode',0); disp2.innerHTML="????";
} else {
blnRndPlay=true; imgChange('pmode',1); disp2.innerHTML="????";
}
tidMsg=setTimeout('rtnTLab()',1000);
}
// evtOSChg() ??: ???????????????
function evtOSChg(f){
// ?????? (f) ???:
// 0(???) 8(?????) 9(?????) 10(?????) 11(?????)
// 12(?????) 13(?????) 20(?????) 21(?????????)
if(f==8){capText.innerHTML="ExoBUD MP(II) ??????(SMI)";}
if(f==13){
var strTitle = Exobud.currentMedia.getItemInfo("Title");
if(strTitle.length <= 0){strTitle = "(??????)"}
var strAuthor = Exobud.currentMedia.getItemInfo("Author");
if(strAuthor.length <= 0){strAuthor = "(???????)"}
var strCopy = Exobud.currentMedia.getItemInfo("Copyright");
if(strCopy.length <= 0){strCopy = "(???????)"}
var strType = Exobud.currentMedia.getItemInfo("MediaType");
var strDur = Exobud.currentMedia.durationString;
var strUrl = Exobud.URL;
var trknum = cActIdx+1;
var ctit = objMmInfo[cActIdx].mmTit;
if(ctit=="nAnT"){
objMmInfo[cActIdx].mmTit = strAuthor + " - " + strTitle;
ctit = strAuthor + " - " + strTitle;
cActTit = "T" + trknum + ". " + ctit;
disp1.innerHTML = cActTit;
}
strMmInfo = "  ??: " + strTitle + " (??: " + strType +")" + "\n\n";
strMmInfo += " ???: " + strAuthor + "\n\n";
strMmInfo += "????: " + strUrl + "\n\n";
strMmInfo += " ???: " + strCopy + "\n\n";
strMmInfo += "????: " + strDur + "\n\n\n";
strMmInfo += "   Brought to you by ExoBUD MP(II).\n";
strMmInfo += "   Copyright(C) 1999-2003 Jinwoong Yu.\n";
strMmInfo += "   ALL RIGHTS RESERVED.\n";
if(blnShowMmInfo){alert(strMmInfo);}
}
}
// evtPSChg() ??: ?????????
function evtPSChg(f){
// ?????? (f) ???:
// 0(???) 1(?????) 2(?????) 3(?????) 4(????) 5(????)
// 6(?????) 7(???) 8(?????) 9(?????) 10(????)
switch(f){
case 1:
evtStop();
break;
case 2:
evtPause();
break;
case 3:
evtPlay();
break;
case 8:
setTimeout('playAuto()', intDelay);
break;
}
}
// evtWmpBuff() ??: ???????????(Buffering)???
function evtWmpBuff(f){
if(f){
disp2.innerHTML = "?????";
var msg = "(?????) " + cActTit;
disp1.innerHTML = msg;
if(blnStatusBar){ window.status=(msg);}
} else {
disp1.innerHTML = cActTit; showTLab();
}
}
// evtWmpError() ??: ???????????,??????
function evtWmpError(){
intErrCnt++;
Exobud.Error.clearErrorQueue();
if(intErrCnt<=3){
disp2.innerHTML = "???? (" + intErrCnt + ")";
var msg = "(??? " + intErrCnt + " ???) " + cActTit;
disp1.innerHTML = "<????> " + cActTit;
if(blnStatusBar){ window.status=(msg);}
tidErr=setTimeout('retryPlay()',1000);
} else {
clearTimeout(tidErr);
intErrCnt=0;showTLab();
var msg = "?????????????????????";
if(blnStatusBar){ window.status=(msg);}
setTimeout('playAuto()',1000);}
}
// evtStop() ??: ????
function evtStop(){
clearTimeout(tidErr);
clearInterval(tidTLab);
showTLab();
intErrCnt=0;
imgChange("pauzt",0);
imgChange("playt",0);
imgChange("scope",0);
disp1.innerHTML = "ExoBUD MP(II) v4.1tc+ [?????????]";
if(blnStatusBar){ window.status=('ExoBUD MP(II) v4.1tc+ [?????????]');return true;}
}
// evtPause() ??: ????
function evtPause(){
imgChange("pauzt",1)
imgChange("playt",0);
imgChange("stopt",0);
imgChange("scope",0);
clearInterval(tidTLab);
showTLab();
}
// evtPlay() ??: ????
function evtPlay(){
imgChange("pauzt",0)
imgChange("playt",1);
imgChange("stopt",0);
imgChange("scope",1);
tidTLab=setInterval('showTLab()',1000);
}
// showTLab() ??: ??????
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(blnElaps){
disp2.innerHTML = cps + " | " + durs;
var msg = cActTit + " (" + cps + " | " + durs + ")";
if(ps==2){msg = "(??) " + msg;}
if(blnStatusBar){ window.status=(msg);return true;}
} else {
var laps = dur-cp;
var strLaps = wmpTime(laps);
disp2.innerHTML = strLaps + " | " + durs;
var msg = cActTit + " (" + strLaps + " | " + durs + ")";
if(ps==2){msg = "(??) " + msg;}
if(blnStatusBar){ window.status=(msg);return true;}
}
} else {
disp2.innerHTML = "00:00 | 00:00";
}
}
// chgTimeFmt() ??: ???????????
function chgTimeFmt(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
if(blnElaps){
blnElaps=false; disp2.innerHTML="????";
} else {
blnElaps=true; disp2.innerHTML="????";
}
tidMsg=setTimeout('rtnTLab()',1000);
}
// rtnTLab() ??: ??????
function rtnTLab(){
clearTimeout(tidMsg);
var wmps = Exobud.playState;
if(wmps==3){tidTLab=setInterval('showTLab()',1000);}
else {showTLab();}
}
// wmpTime() ??: ??????
function wmpTime(dur){
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;
}
// wmpVolUp(), wmpVolDn(), wmpMute() ???????????????(??:%)
// vmax ??????(100), vmin ??????(0), vdep ?????????(????5?20??)
// ????? vmin, vmax, vdep ??0?100???????,vmin ? vdep ??????? vmax?
var vmax = 100;
var vmin = 0;
var vdep = 10;
// wmpVolUp() ??: ????(Volume Up)
function wmpVolUp(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
var ps = Exobud.settings;
if(ps.mute){ps.mute=false; disp2.innerHTML="????"; imgChange('vmute',0);}
else {
if(ps.volume >= (vmax-vdep)){ps.volume = vmax;}
else {ps.volume = ps.volume + vdep;}
disp2.innerHTML = "??: " + ps.volume + "%";
}
tidMsg=setTimeout('rtnTLab()',1000);
}
// wmpVolDn() ??: ????(Volume Down)
function wmpVolDn(){
var wmps = Exobud.playState;
if(wmps==3){clearInterval(tidTLab);}
var ps = Exobud.settings;
if(ps.mute){ps.mute=false; disp2.innerHTML="????"; imgChange('vmute',0);}
else {
if(ps.volume <= vdep){ps.volume = vmin;}
else {ps.volume = ps.volume - vdep;}
disp2.innerHTML = "??: " + ps.volume + "%";
}
tidMsg=setTimeout('rtnTLab()',1000);
}
// wmpMute() ??: ????(Mute)
function wmpMute(){
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);
}
// waitMsg() ??: ?????????????????
function waitMsg(){
capText.innerHTML="ExoBUD MP(II) ??????(SMI)";
if(intExobudStat==1){disp1.innerHTML = "???? - ??????????????";}
if(intExobudStat==2){disp1.innerHTML = "???? - ?????????????????";}
if(blnStatusBar){
if(intExobudStat==1){ window.status=('???? - ??????????????'); return true;}
if(intExobudStat==2){ window.status=('???? - ?????????????????'); return true;}
}
}
// openPlist() ??: ?????????????
function openPlist(){
window.open("exobudpl.htm","mplist","width=400,height=400,scrollbars=no,resizable=yes,copyhistory=no");
}
// chkWmpState() ??: ??????????,?? playState ????
function chkWmpState(){
// ?????????:
// 0(???) 1(?????) 2(?????) 3(?????) 4(????) 5(????)
// 6(?????) 7(???) 8(?????) 9(?????) 10(????)
return Exobud.playState;
}
// chkWmpOState() ??: ????????????????,?? openState ????
function chkWmpOState(){
// ?????????:
// 0(???) 8(?????) 9(?????) 10(?????) 11(?????)
// 12(?????) 13(?????) 20(?????) 21(?????????)
return Exobud.openState;
}
// chkOnline() ??: ?????????? (???????????)
function chkOnline(){
// ???: true(???????) false(????????)
return Exobud.isOnline;
}
// vizExobud() ??: ???? ExoBUD MP ???????????[??] (???????????)
function vizExobud(){
// ????: <span onClick="vizExobud()" style="cursor:hand" title="?? ExoBUD MP ??? Jinwoong Yu ??? [??]">
window.open("http://exobud.nayana.org","vizExobud");
}
//-->

