테스트 사이트 - 개발 중인 베타 버전입니다

kplayer 익스플로러 높은 버전에서 안될때 채택완료

미쓰홍 11년 전 조회 8,387

스킨게시판에 있는 음악 게시판을 다운받아서 사용하고 있는데요

인터넷 익스플로러가 최신버젼이 되어버리니까 이런식으로 나오네요..

익스플로러가 낮은 버전이었을때는 문제 없이 잘 되었거든요..

제목 없음-1.jpg
아무래도 js파일에서 수정해서 사용해야할것같은데
어디를 어떻게 만져야할지 모르겠어서요. 부탁드립니다.
 

kplayer_audio_player.js 파일입니다.

</p>
<p><strong>
/* ============================================================================
 ============================================================================
 ==
 ==  kplayer_audio_player.js
 ==
 ==  오디오 kplayer player 관련 script
 ==
 ============================================================================
 ============================================================================*/</strong></p>
<p>
</p>
<p>// 플레이어 초기화
function SetKPlayerInit(){
 
 // 객체
 KP_BG_TOP            = getID("bg_top");
 KP_BG_STATE          = getID("bg_state");
 if (bIsTwoLyrics) KP_BG_TWOLYRICS = getID("bg_twolyrics");
 KP_BG_FRAME          = getID("bg_frame");
 KP_BG_CONTROL        = getID("bg_control");
 KP_BG_LOGO           = getID("bg_logo");
 
 KP_BTN_WINDOW_CLOSE  = getID("btn_window_close");
 KP_BTN_LOOP_ALL      = getID("btn_loop_all");
 KP_BTN_LOOP_ONE      = getID("btn_loop_one");
 KP_BTN_RANDOM        = getID("btn_random");
 KP_BTN_LAPTIME       = getID("btn_laptime");
 KP_BTN_OPEN_CLOSE    = getID("btn_open_close");
 KP_BTN_ACT           = getID("btn_act");
 KP_BTN_STOP          = getID("btn_stop");
 KP_BTN_PREV          = getID("btn_prev");
 KP_BTN_NEXT          = getID("btn_next");
 KP_BTN_MUTE          = getID("btn_mute");
 KP_TRACK_BAR         = getID("track_bar");
 KP_VOLUME_BAR        = getID("volume_bar");
 KP_BTN_VIEW_CHANGE   = getID("btn_view_change");</p>
<p> KP_CURRENT_TIME      = getID("current_time");
 KP_MEDIA_KBPS        = getID("media_kbps");
 KP_MEDIA_TYPE        = getID("media_type");
 KP_MEDIA_MODE        = getID("media_mode");
 KP_TOTAL_TRACK       = getID("total_track");
 KP_CURRENT_TRACK     = getID("current_track");
 KP_PLAY_STATE_IMAGE  = getID("play_state_image");
 KP_PLAY_STATE        = getID("play_state");
 KP_PERCENT_STATE     = getID("percent_state");</p>
<p> if (bIsTwoLyrics){
  KP_TWO_LYRICS1   = getID("two_lyrics1");
  KP_TWO_LYRICS2   = getID("two_lyrics2");
 }
 KP_LABEL_COUNT       = getID("label_count");</p>
<p> KP_VIEW_PLAY_LIST    = getID("view_play_list");
 KP_VIEW_PLAY_LYRICS  = getID("view_play_lyrics");</p>
<p> // 배경 이미지 출력
 KPBG_TOP();
 KPBG_STATE();
 if (bIsTwoLyrics) KPBG_TWOLYRICS();
 KPBG_FRAME();
 KPBG_CONTROL();
 KPBG_LOGO();</p>
<p> // 상단 window close 버튼 이미지 출력
 KPBTN_WINDOW_CLOSE();</p>
<p> // 상단 mode 변경 버튼 이미지 출력
 KPBTN_LOOP_ALL();
 KPBTN_LOOP_ONE();
 KPBTN_RANDOM();
 KPBTN_LAPTIME();
 KPBTN_OPEN_CLOSE();</p>
<p> // 하단 play 버튼 이미지 출력
 KPBTN_ACT();
 KPBTN_STOP();
 KPBTN_PREV();
 KPBTN_NEXT();
 KPBTN_MUTE();</p>
<p> // 트랙바, 볼륨바 이미지 출력
 KPBTN_TRACK_BAR();
 KPBTN_VOLUME_BAR();</p>
<p> KPBTN_VIEW_CHANGE();   // playlist, lyrics 변경 버튼 이미지 출력</p>
<p> // 재생 상태, 곡/가수 명, 두줄가사 출력
 KPSTATE_CURRENT_TIME();         // 현재 시간
 if (bIsImage){
  BlockDisplay(getID('timer_num1_0'), '');
  BlockDisplay(getID('timer_num2_0'), '');
  BlockDisplay(getID('timer_num3_colon'), '');
  BlockDisplay(getID('timer_num4_0'), '');
  BlockDisplay(getID('timer_num5_0'), '');
 }
 KPSTATE_MEDIA_KBPS();           // mediakbps
 KPSTATE_MEDIA_TYPE();           // mediatype
 KPSTATE_MEDIA_MODE();           // mediamode
 KPSTATE_TOTAL_TRACK();          // 전체 트랙
 KPSTATE_CURRENT_TRACK();        // 현재 트랙
 KPSTATE_PLAY_STATE_IMAGE();     // 재생 상태 이미지
 KPSTATE_PLAY_STATE();           // 재생 상태
 KPSTATE_PERCENT_STATE();        // 재생, 볼륨, 트랙 검색 % 값
 
 if (bIsTwoLyrics){              // 두줄 가사
  KPLYRICS_TWO_LYRICS1();
  KPLYRICS_TWO_LYRICS2();
 }</p>
<p> KPSTATE_LABEL_COUNT();  // 목록/가사 count</p>
<p> // 목록/가사
 KPVIEW_PLAY_LIST();
 KPVIEW_PLAY_LYRICS();</p>
<p> ToolTipInit();
 SetPlayListOnload();
 DisplayInit();
 DisplayTrack();
 SetVolume();</p>
<p> bIsLoaded = true;
}</p>
<p>
// 로드 이벤트
function KPlayer_OnLoad(){</p>
<p> // window resize 실행
 SetDivCheck();
 SetWinResize();
 
 // Window Media Player Plug-in, Mozilla ActiveX control and plugin 체크
 if (!BrInfo.ie5){
  if (!IsNSPluginInstalled() || !IsNSPluginInstalled2()){
   ErrAlt();
   window.close();
  }
 }</p>
<p> // Window Media Player 객체
 KP_KPlayer = getID("kplayer");
 KP_Controls = KP_KPlayer.Controls;
 KP_Settings = KP_KPlayer.Settings;
 KP_Network = KP_KPlayer.Network;
 KP_Error = KP_KPlayer.Error;
 
 </p>
<p>// WMP 버전 체크 (WMP 7.x+)
 var WMPVer = KP_KPlayer.VersionInfo;
 var strVer = new String(WMPVer);
 s = strVer.split('.');
 var fHasWMP7 = s[0];
 if (!WMPVer || WMPVer == null || !fHasWMP7 || fHasWMP7 == null || fHasWMP7 < 7 || fHasWMP7 == 'undefined'){
  ErrAlt();
  window.close();
 }else{
  nCurrentTrack = (bIsRandomMode && strLoopMode == 'none') ? Math.floor(Math.random() * (nTotalTrack-1)) : 0;
 
  SetKPlayerInit();  // 플레이어 design 초기화
  
  WinReSize();</p>
<p>  // 곡 등록이 안된 경우 체크
  if (MediaInfo == null){ TrackErr(); return false;}</p>
<p>  if (bIsLoaded){
   if (!bIsAutoStart){
    OnPlay = setTimeout('StopInit()', 2000);
   }else{
    OnPlay = setTimeout('PlayMusic2(' + nCurrentTrack + ')', 2000); // 로딩된후 처음 재생
   }
  }
 }
}</p>
<p>
// window resize 설정
function SetWinResize(){
 if (BrInfo.ie5){
  var win_width2 = win_width + winw;
  var win_height2 = win_height + winh;
 }else if (BrInfo.ns6){
  var win_width2 = win_width + winw;
  var win_height2 = win_height + winh;
 }else{
  ErrAlt();
 }
 window.resizeTo(win_width2, win_height2);
 window.focus();
}</p>
<p>function WinReSize(){
 if (window.innerHeight || window.innerWidth){
  if (win_height > window.innerHeight || win_width > window.innerWidth){
   var win_width2 = win_width + (window.outerWidth - window.innerWidth);
   var win_height2 = win_height + (window.outerHeight - window.innerHeight);
   window.resizeTo(win_width2, win_height2);
   window.focus();
  }
 }else{
  if (document.body && (document.body.clientHeight || document.body.clientWidth)){
   if (win_height > document.body.clientHeight || win_width > document.body.clientWidth){
    var win_width2 = win_width + winw + (document.body.scrollWidth - document.body.clientWidth);
    var win_height2 = win_height + winh + (document.body.scrollHeight - document.body.clientHeight);
    window.resizeTo(win_width2, win_height2);
    window.focus();
   }
  }else if (document.documentElement && (document.documentElement.clientHeight || document.documentElement.clientWidth)){
   if (win_height > document.documentElement.clientHeight || win_width > document.documentElement.clientWidth){
    var win_width2 = win_width + winw + (document.documentElement.scrollWidth - document.documentElement.clientWidth);
    var win_height2 = win_height + winh + (document.documentElement.scrollHeight - document.documentElement.clientHeight);
    window.resizeTo(win_width2, win_height2);
    window.focus();
   }
  }
 }
}</p>
<p>
// display : block / display : none
function BlockDisplay(objName, f_type){
 objName.style.display = f_type;
}</p>
<p>// 위치 이동 (left, top)
function DivMoveToLT(objName, X, Y){
 objName.style.left = X + 'px';
 objName.style.top = Y + 'px';
}</p>
<p>// 위치 이동 (top)
function DivMoveToT(objName, Y){
 objName.style.top = Y + 'px';
}</p>
<p>// 위치 이동 (left)
function DivMoveToL(objName, X){
 objName.style.left = X + 'px';
}</p>
<p>// 폭 변경 (height, width)
function DivMoveToHW(objName, H, W){
 objName.style.height = H + 'px';
 objName.style.width = W + 'px';
}</p>
<p>// 폭 변경 (height)
function DivMoveToH(objName, H){
 objName.style.height = H + 'px';
}</p>
<p>// 폭 변경 (width)
function DivMoveToW(objName, W){
 objName.style.width = W + 'px';
}</p>
<p>
// 전체시간
function TotalTime(playtem){
 var playTimeText = '';</p>
<p> var nHours = Math.floor((playtem / 3600));
 if (nHours < 10) nHours = '0' + nHours;</p>
<p> var nMinutes = Math.floor((playtem / 60) - (nHours * 60));
 if (nMinutes < 10) nMinutes = '0' + nMinutes;</p>
<p> var nSeconds = Math.floor(playtem - (nMinutes * 60));
 if (nSeconds < 10) nSeconds = '0' + nSeconds;</p>
<p> playTimeText = (nHours == 00) ? nMinutes + ':' + nSeconds : nHours + ':' + nMinutes + ':' + nSeconds;</p>
<p> return playTimeText;
}</p>
<p>
// 현재시간
function PlayTime(playtem){
 var playtem2 = 0;
 if (nCurrentDuration > 0){
  if (bIsLapTime){
   playtem2 = nCurrentDuration - playtem;
  }else{
   playtem2 = playtem;
  }
 }else{
  playtem2 = playtem;
 }</p>
<p> PlayTimeSet(playtem2);
}</p>
<p>
// 트랙 검색 드래그 이동 시간
function PlayTime2(playtem){
 var playtem2 = parseInt((playtem / nTrackBarWidth) * nCurrentDuration);
 var playtem3 = 0;
 if(playtem2 < 0) playtem2 = 0;
 if(playtem2 > nCurrentDuration) playtem2 = nCurrentDuration;
 nPosValue = playtem2;</p>
<p> if (bIsLapTime){
  playtem3 = nCurrentDuration - playtem2;
 }else{
  playtem3 = playtem2;
 }</p>
<p> PlayTimeSet(playtem3);
}</p>
<p>
function PlayTimeSet(playtem){</p>
<p> var nMinutes = Math.floor((playtem / 60));
 var nSeconds = Math.floor(playtem - (nMinutes * 60));</p>
<p> if (bIsImage){
  var playTime1 = '';
  var playTime2 = '';
  var playTime3 = '';
  var playTime4 = '';
  var playTime5 = '';</p>
<p>  if (nMinutes < 10){
   playTime1 = 0;
   playTime2 = nMinutes;
   playTime3 = ':';
   if (nSeconds < 10){
    playTime4 = 0;
    playTime5 = nSeconds;
   }else{
    playTime4 = Math.floor(nSeconds/10);
    playTime5 = Math.floor(nSeconds%10);
   }
  }else if (nMinutes < 100){
   playTime1 = Math.floor(nMinutes/10);
   playTime2 = Math.floor(nMinutes%10);
   playTime3 = ':';
   if (nSeconds < 10){
    playTime4 = 0;
    playTime5 = nSeconds;
   }else{
    playTime4 = Math.floor(nSeconds/10);
    playTime5 = Math.floor(nSeconds%10);
   }
  }else if (nMinutes < 1000){
   playTime1 = Math.floor(nMinutes/100);
   playTime2 = Math.floor(Math.floor(nMinutes%100)/10);
   playTime3 = Math.floor(nMinutes%10);
   playTime4 = ':';
   playTime5 = Math.floor(nSeconds/10);
  }else if (nMinutes < 10000){
   playTime1 = Math.floor(nMinutes/1000);
   playTime2 = Math.floor(Math.floor(nMinutes%1000)/100);
   playTime3 = Math.floor(Math.floor(nMinutes%100)/10);
   playTime4 = Math.floor(nMinutes%10);
   playTime5 = ':';
  }
  
  if(timeNum1 != playTime1){
   BlockDisplay(getID('timer_num1_' + timeNum1), 'none');
   timeNum1 = playTime1;
   switch(playTime1){
    case 0: BlockDisplay(getID('timer_num1_0'), ''); break;
    case 1: BlockDisplay(getID('timer_num1_1'), ''); break;
    case 2: BlockDisplay(getID('timer_num1_2'), ''); break;
    case 3: BlockDisplay(getID('timer_num1_3'), ''); break;
    case 4: BlockDisplay(getID('timer_num1_4'), ''); break;
    case 5: BlockDisplay(getID('timer_num1_5'), ''); break;
    case 6: BlockDisplay(getID('timer_num1_6'), ''); break;
    case 7: BlockDisplay(getID('timer_num1_7'), ''); break;
    case 8: BlockDisplay(getID('timer_num1_8'), ''); break;
    case 9: BlockDisplay(getID('timer_num1_9'), ''); break;
   }
  }
  if(timeNum2 != playTime2){
   BlockDisplay(getID('timer_num2_' + timeNum2), 'none');
   timeNum2 = playTime2;
   switch(playTime2){
    case 0: BlockDisplay(getID('timer_num2_0'), ''); break;
    case 1: BlockDisplay(getID('timer_num2_1'), ''); break;
    case 2: BlockDisplay(getID('timer_num2_2'), ''); break;
    case 3: BlockDisplay(getID('timer_num2_3'), ''); break;
    case 4: BlockDisplay(getID('timer_num2_4'), ''); break;
    case 5: BlockDisplay(getID('timer_num2_5'), ''); break;
    case 6: BlockDisplay(getID('timer_num2_6'), ''); break;
    case 7: BlockDisplay(getID('timer_num2_7'), ''); break;
    case 8: BlockDisplay(getID('timer_num2_8'), ''); break;
    case 9: BlockDisplay(getID('timer_num2_9'), ''); break;
   }
  }
  if(timeNum3 != playTime3){
   BlockDisplay(getID('timer_num3_' + ((timeNum3 == ':') ? 'colon' : timeNum3)), 'none');
   timeNum3 = playTime3;
   switch(playTime3){
    case 0: BlockDisplay(getID('timer_num3_0'), ''); break;
    case 1: BlockDisplay(getID('timer_num3_1'), ''); break;
    case 2: BlockDisplay(getID('timer_num3_2'), ''); break;
    case 3: BlockDisplay(getID('timer_num3_3'), ''); break;
    case 4: BlockDisplay(getID('timer_num3_4'), ''); break;
    case 5: BlockDisplay(getID('timer_num3_5'), ''); break;
    case 6: BlockDisplay(getID('timer_num3_6'), ''); break;
    case 7: BlockDisplay(getID('timer_num3_7'), ''); break;
    case 8: BlockDisplay(getID('timer_num3_8'), ''); break;
    case 9: BlockDisplay(getID('timer_num3_9'), ''); break;
    default : BlockDisplay(getID('timer_num3_colon'), ''); break;
   }
  }
  if(timeNum4 != playTime4){
   BlockDisplay(getID('timer_num4_' + ((timeNum4 == ':') ? 'colon' : timeNum4)), 'none');
   timeNum4 = playTime4;
   switch(playTime4){
    case 0: BlockDisplay(getID('timer_num4_0'), ''); break;
    case 1: BlockDisplay(getID('timer_num4_1'), ''); break;
    case 2: BlockDisplay(getID('timer_num4_2'), ''); break;
    case 3: BlockDisplay(getID('timer_num4_3'), ''); break;
    case 4: BlockDisplay(getID('timer_num4_4'), ''); break;
    case 5: BlockDisplay(getID('timer_num4_5'), ''); break;
    case 6: BlockDisplay(getID('timer_num4_6'), ''); break;
    case 7: BlockDisplay(getID('timer_num4_7'), ''); break;
    case 8: BlockDisplay(getID('timer_num4_8'), ''); break;
    case 9: BlockDisplay(getID('timer_num4_9'), ''); break;
    default : BlockDisplay(getID('timer_num4_colon'), ''); break;
   }
  }
  if(timeNum5 != playTime5){
   BlockDisplay(getID('timer_num5_' + ((timeNum5 == ':') ? 'colon' : timeNum5)), 'none');
   timeNum5 = playTime5;
   switch(playTime5){
    case 0: BlockDisplay(getID('timer_num5_0'), ''); break;
    case 1: BlockDisplay(getID('timer_num5_1'), ''); break;
    case 2: BlockDisplay(getID('timer_num5_2'), ''); break;
    case 3: BlockDisplay(getID('timer_num5_3'), ''); break;
    case 4: BlockDisplay(getID('timer_num5_4'), ''); break;
    case 5: BlockDisplay(getID('timer_num5_5'), ''); break;
    case 6: BlockDisplay(getID('timer_num5_6'), ''); break;
    case 7: BlockDisplay(getID('timer_num5_7'), ''); break;
    case 8: BlockDisplay(getID('timer_num5_8'), ''); break;
    case 9: BlockDisplay(getID('timer_num5_9'), ''); break;
    default : BlockDisplay(getID('timer_num5_colon'), ''); break;
   }
  }
 }else{
  var playTimeText = '';
  if (nMinutes < 10) nMinutes = '0' + nMinutes;
  if (nSeconds < 10) nSeconds = '0' + nSeconds;
  playTimeText = nMinutes + ':' + nSeconds;
  ShowCurrentTime(playTimeText.substring(0, 5));
 }
}</p>
<p>
// 진행시간 / 남은시간 변경
function LapTimeChange(){
 bIsLapTime = !bIsLapTime;
 var nTrackPosX = 0;
 var nTrackPosX2 = 0;
 ImageShow(KP_CURRENT_TIME.childNodes[0].childNodes[0], (bIsLapTime ? minus_on : minus_off));
 if (nCurrentDuration > 0){
  nTrackPosX = parseInt((nTrackBarWidth * (nCurrentPosition / nCurrentDuration)));
  nTrackPosX2 = parseInt((nTrackPosX / nTrackBarWidth) * 100);
  nPreTrackPosX = (bIsLapTime) ? 100 - nTrackPosX2 : nTrackPosX2;
  if (bIsPlayMode || bIsPauseMode){
   PerState((bIsLapTime ? 100 - nTrackPosX2 : nTrackPosX2), 'mt');
  }else{
   ShowStatePercent('');
  }
 }else{
  nPreTrackPosX = 0;
  ShowStatePercent('');
 }
 if (bIsStopMode){
  if (bIsImage){
   TimerInit();
  }else{
   ShowCurrentTime(StopText);
  }
 }else{
  PlayTime(nCurrentPosition);
 }
 ImageShow(KP_BTN_LAPTIME.childNodes[0], (bIsLapTime ? laptime_down : laptime_on));
 ShowToolTip(KP_BTN_LAPTIME, (bIsLapTime ? ' 진행시간 표시 ' : ' 남은시간 표시 '));
}</p>
<p>
// 재생, 검색, 볼륨 %
function PerState(per, f_type){
 var dash = (bIsLapTime) ? '-' : '';
 if (f_type == 'mt'){
  ShowStatePercent(dash + ((bIsStopMode) ? '재생(0%)' : '재생(' + per + '%)'));
 }else if (f_type == 'dt'){
  ShowStatePercent(dash + ((bIsStopMode) ? '검색(0%)' : '검색(' + per + '%)'));
 }else if (f_type == 'dv'){
  ShowStatePercent('볼륨(' + per + '%)');
 }
}</p>
<p>
/// 랜덤 재생, 전체곡 반복 재생, 현재곡 반복 재생, 리스트곡 한번 재생 - 한곡 끝나고 재생여부
function StreamChange(){</p>
<p> bIsEndOfStream = false;</p>
<p> if (bIsRandomMode){
  RandomNext();
 }else{
  switch (strLoopMode){
   case 'all':
    if (nCurrentTrack == (nTotalTrack - 1)){
     nCurrentTrack = 0;
    }else{
     nCurrentTrack = nCurrentTrack + 1;
    }
    PlayMusic(nCurrentTrack);
    break;
   case 'none':
    if (nCurrentTrack == (nTotalTrack - 1)){
     bIsFinished = true;
     KP_Controls.Stop();
    }else{
     nCurrentTrack = nCurrentTrack + 1;
     PlayMusic(nCurrentTrack);
    }
    break;
   case 'one':
    PlayMusic(nCurrentTrack);
    break;
  }
 }
}</p>
<p>
/// 재생 상태
function DisplayDuration(){
 if (disPlayState != null ) clearTimeout(disPlayState);</p>
<p> nCurrentPosition = parseInt(KP_Controls.CurrentPosition);
 if (nCurrentDuration > 0){
  // 현재 시간
  if (!bSetTrackPos) PlayTime(nCurrentPosition);</p>
<p>  // 음악 재생하는 동안 상태 변경
  if (!bIsBufferMode){
   if (bIsPlayMode) RotateState();
  }</p>
<p>  //  두줄 가사 표시
  if (bIsTwoLyrics){
   if (!bSetTrackPos){
    if (bTwoLyricsLoaded) PlayTwoLyrics(nCurrentPosition);
   }
  }</p>
<p>  // 상태바 움직이기
  MoveTrackBar();</p>
<p> }else{
  if (nCurrentPosition > 0){
   PlayTime(nCurrentPosition);</p>
<p>   if (!bIsBufferMode){
    if (bIsPlayMode) RotateState();
   }</p>
<p>  }else{
   nCurrentPosition = 0;
  }
 }</p>
<p> disPlayState = setTimeout('DisplayDuration();', 500);
}</p>
<p>
// music 재생
function PlayMusic(track){
 OnErrTimer();
 if (OnPlay != null ) clearTimeout(OnPlay);
 if (disPlayState != null ) clearTimeout(disPlayState);
 if (disPlayBuff != null ) clearTimeout(disPlayBuff);</p>
<p> KP_Controls.Stop();</p>
<p> if (bIsTwoLyrics){
  bTwoLyricsLoaded = false;
  ShowColor1('');
  ShowTwoLyrics1('');
  ShowColor2('');
  ShowTwoLyrics2('');
 }</p>
<p> Ticks = 0;
 RotSecs = 0;</p>
<p> OnPlay = setTimeout('PlayMusic2(' + track + ')', 1000);
}</p>
<p>function PlayMusic2(track){
 nCurrentTrack = eval(track);</p>
<p> DisplaySong();
 ViewMode();
 DisplayTrack();
 if (bIsTwoLyrics) GetTwolyrics(); /// 두줄 가사//
 
 if (MediaInfo[nCurrentTrack].getFLChk() == 1){
  KP_KPlayer.URL = root + '/data/file/' + board + '/' + MediaInfo[nCurrentTrack].getFName();
 }else if (MediaInfo[nCurrentTrack].getFLChk() == 2){
  KP_KPlayer.URL = MediaInfo[nCurrentTrack].getFName();
 }
 KP_Controls.Play();</p>
<p> bIsFinished = false;
}</p>
<p>// 재생 중 트랙 바 이동
function MoveTrackBar(){
 if (!bSetTrackPos && KP_PlayState == 3){
  var nTrackPosX = parseInt((nTrackBarWidth * (nCurrentPosition / nCurrentDuration)) + nTrackBarStartPos);
  var nTrackPosX2 = nTrackPosX - nTrackBarStartPos;
  nPreTrackPosX = (bIsLapTime) ? 100 - parseInt((nTrackPosX2 / nTrackBarWidth) * 100) : parseInt((nTrackPosX2 / nTrackBarWidth) * 100);
  DivMoveToL(KP_TRACK_BAR, parseInt(nTrackPosX));
  if (!bSetVolumePos) PerState(nPreTrackPosX, 'mt');
 }
}</p>
<p>
// TrackBar/ VolumeBar 관련
function TrackBarMouseDown(e){
 var evt = (!e) ? window.event : e;
 var check = (((evt.which) && (evt.which == 1)) || ((evt.button) && (evt.button == 1)));
 ImageShow(KP_TRACK_BAR.childNodes[0], track_bar_hover);
 if (check){
  if (nCurrentDuration > 0){
   if (KP_PlayState > 1 && KP_PlayState < 4){
    bSetTrackPos = true;
    PerState(nPreTrackPosX, 'dt');
    barTempPosX = evt.clientX;
    barTempPosL = parseInt(KP_TRACK_BAR.style.left);
    nPosValue = KP_Controls.CurrentPosition;
    if (document.addEventListener){
     document.addEventListener("mousemove", DragMoveBar, false);
     document.addEventListener("mouseup", DragUpBar, false);
    }else if (document.attachEvent){
     document.attachEvent("onmousemove", DragMoveBar);
     document.attachEvent("onmouseup", DragUpBar);
     document.attachEvent("onlosecapture", DragUpBar);
     document.setCapture();
    }else{
     document.onmousemove = DragMoveBar;
     document.onmouseup = DragUpBar;
    }
   }else{
    bSetTrackPos = false;
   }
  }else{
   bSetTrackPos = false;
  }
 }
 return false;
}</p>
<p>
function VolumeBarMouseDown(e){
 var evt = (!e) ? window.event : e;
 var check = (((evt.which) && (evt.which == 1)) || ((evt.button) && (evt.button == 1)));
 ImageShow(KP_VOLUME_BAR.childNodes[0], volume_bar_hover);
 if (check){
  bSetVolumePos = true;
  PerState(KP_Settings.Volume, 'dv');
  barTempPosX = evt.clientX;
  barTempPosL = parseInt(KP_VOLUME_BAR.style.left);
  if (document.addEventListener){
   document.addEventListener("mousemove", DragMoveBar, false);
   document.addEventListener("mouseup", DragUpBar, false);
  }else if (document.attachEvent){
   document.attachEvent("onmousemove",DragMoveBar);
   document.attachEvent("onmouseup", DragUpBar);
   document.attachEvent("onlosecapture", DragUpBar);
   document.setCapture();
  }else{
   document.onmousemove = DragMoveBar;
   document.onmouseup = DragUpBar;
  }
 }
 return false;
}</p>
<p>
function DragMoveBar(e){
 var evt = (!e) ? window.event : e;
 if (bSetTrackPos){
  nPosX = barTempPosL + evt.clientX - barTempPosX;
  if (nTrackBarStartPos > nPosX) nPosX = nTrackBarStartPos;
  if (nTrackBarEndPos < nPosX) nPosX = nTrackBarEndPos;
  DragMoveBarSet();
 }else if (bSetVolumePos){
  if(!bIsMuteMode){
   nVolX = barTempPosL + evt.clientX - barTempPosX;
   if (nVolumeBarStartPos > nVolX) nVolX = nVolumeBarStartPos;
   if (nVolumeBarEndPos < nVolX) nVolX = nVolumeBarEndPos;
   DragMoveBarSet();
  }
 }
 return false;
}</p>
<p>function DragMoveBarSet(){
 if (bSetTrackPos){
  var nPosX2 = nPosX - nTrackBarStartPos;
  DivMoveToL(KP_TRACK_BAR, parseInt(nPosX));
  nPreTrackPosX = (bIsLapTime) ? 100 - parseInt((nPosX2 / nTrackBarWidth) * 100) : parseInt((nPosX2 / nTrackBarWidth) * 100);
  PerState(nPreTrackPosX, 'dt');
  PlayTime2(nPosX2);
  if (bIsTwoLyrics) PlayTwoLyrics(nPosValue);
 }else if (bSetVolumePos){
  var nVolX2 = parseInt(((nVolX - nVolumeBarStartPos) / (nVolumeBarWidth)) * 100);
  DivMoveToL(KP_VOLUME_BAR, parseInt(nVolX));
  PerState(nVolX2, 'dv');
  KP_Settings.Volume = nVolX2;  // (0 - 100)
  setCookieVolume(nVolX);
 }
}</p>
<p>
function DragUpBar(){
 if (document.removeEventListener){
  document.removeEventListener("mousemove", DragMoveBar, false);
  document.removeEventListener("mouseup", DragUpBar, false);
 }else if (document.detachEvent){
  document.detachEvent("onmousemove",DragMoveBar);
  document.detachEvent("onmouseup", DragUpBar);
  document.detachEvent("onlosecapture", DragUpBar);
  document.releaseCapture();
 }else{
  document.onmousemove = null;
  document.onmouseup = null;
 }</p>
<p> if (bSetTrackPos){
  bSetTrackPos = false;
  KP_Controls.CurrentPosition = nPosValue;
  if (!bIsPlayMode){
   nCurrentPosition = parseInt(KP_Controls.CurrentPosition);
   PerState(nPreTrackPosX, 'mt');
  }
 }else if (bSetVolumePos){
  bSetVolumePos = false;
  if (bIsPauseMode){
   PerState(nPreTrackPosX, 'mt');
  }else if (bIsStopMode){
   ShowStatePercent('');
  }else if (!(nCurrentDuration > 0)){
   ShowStatePercent('');
  }else if (bIsBufferMode){
   PerState(nPreTrackPosX, 'mt');
  }
 }
 return false;
}</p>
<p>
// 볼륨 설정
function SetVolume(){
 var nVolume = (bIsMuteMode) ? nVolumeBarStartPos : getCookieVolume(); //볼륨설정(180 - 280) 위치 px값</p>
<p> if (nVolumeBarStartPos > nVolume) nVolume = nVolumeBarStartPos;
 if (nVolumeBarEndPos < nVolume) nVolume = nVolumeBarEndPos;</p>
<p> var nVolX2 = parseInt(((nVolume - nVolumeBarStartPos) / (nVolumeBarWidth)) * 100);</p>
<p> nPreVolumePosX = parseInt(nVolume);
 DivMoveToL(KP_VOLUME_BAR, parseInt(nVolume));
 KP_Settings.Volume = nVolX2;  // (0 - 100)
}</p>
<p>
// play control 관련 ///////////
// 음소거
function SetMute(){
 KP_Settings.Mute = (bIsMuteMode = !bIsMuteMode);
 if (KP_Settings.Mute){
  ImageShow(KP_BTN_MUTE.childNodes[0], mute_down);
  ShowToolTip(KP_BTN_MUTE, ' 소리 ');
  nPreVolumePosX = parseInt(KP_VOLUME_BAR.style.left);
  DivMoveToL(KP_VOLUME_BAR, parseInt(nVolumeBarStartPos));
  KP_Settings.Volume = 0;
 }else{
  ImageShow(KP_BTN_MUTE.childNodes[0], mute_on);
  ShowToolTip(KP_BTN_MUTE, ' 음 소거 ');
  DivMoveToL(KP_VOLUME_BAR, parseInt(nPreVolumePosX));
  var nVolX3 = parseInt(((nPreVolumePosX - nVolumeBarStartPos) / nVolumeBarWidth) * 100);
  KP_Settings.Volume = nVolX3;
   }
}</p>
<p>
// 재생 / 일시정지
function SetAct(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> if (bIsBufferMode){
  return false;
 }else{
  if (bIsLiveBroadcast && (bIsPlayMode || KP_PlayState == 3)){
   return false;
  }else if (bIsPlayMode || KP_PlayState == 3){
   KP_Controls.Pause();
  }else if (bIsPauseMode || KP_PlayState == 2){
   KP_Controls.Play();
  }else if (bIsStopMode || KP_PlayState == 1){
   PlayMusic(nCurrentTrack);
   errCount = 0;
  }
 }
}</p>
<p>
// 재생 중지
function SetStop(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> KP_Controls.Stop();
 KP_KPlayer.Close();
 DisplayInit();</p>
<p> if (bIsTwoLyrics){bTwoLyricsLoaded = false; GetTwoLyricsInit();}
 OnErrTimer();
 if (OnPlay != null ) clearTimeout(OnPlay);
 if (disPlayState != null ) clearTimeout(disPlayState);
 if (disPlayBuff != null ) clearTimeout(disPlayBuff);</p>
<p> if (bIsBufferMode) bIsBufferMode = false;
 DisplayState(1);
 DisplaySong();</p>
<p> if (bIsStopMode || KP_PlayState == 1) errCount = 0;
}</p>
<p>
// 이전
function SetPrev(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> errCount = 0;</p>
<p> if (bIsRandomMode){
  if (nTotalTrack - 1 == 0){
   alert('이전 곡이 없습니다.');
   return false;
  }else{
   RandomNext();
  }
 }else{
  switch (strLoopMode){
   case 'all':
    if (nCurrentTrack == 0){
     nCurrentTrack = nTotalTrack - 1;
    }else{
     nCurrentTrack = nCurrentTrack - 1;
    }
    PlayMusic(nCurrentTrack);
    break;
   case 'none':
    if (nCurrentTrack == 0){
     if (nTotalTrack - 1 == 0){
      alert('이전 곡이 없습니다.');
     }else{
      alert('처음 곡입니다.');
     }
     return false;
    }else{
     nCurrentTrack = nCurrentTrack - 1;
     PlayMusic(nCurrentTrack);
    }
    break;
   case 'one':
    if (nTotalTrack - 1 == 0){
     alert('이전 곡이 없습니다.');
     return false;
    }else{
     if (nCurrentTrack == 0){
      nCurrentTrack = nTotalTrack - 1;
     }else{
      nCurrentTrack = nCurrentTrack - 1;
     }
     PlayMusic(nCurrentTrack);
    }
    break;
  }
 }
}</p>
<p>
// 다음
function SetNext(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> errCount = 0;</p>
<p> if (bIsRandomMode){
  if (nTotalTrack - 1 == 0){
   alert('다음 곡이 없습니다.');
   return false;
  }else{
   RandomNext();
  }
 }else{
  switch (strLoopMode){
   case 'all':
    if (nCurrentTrack == (nTotalTrack - 1)){
     nCurrentTrack = 0;
    }else{
     nCurrentTrack = nCurrentTrack + 1;
    }
    PlayMusic(nCurrentTrack);
    break;
   case 'none':
    if (nCurrentTrack == (nTotalTrack - 1)){
     if (nTotalTrack - 1 == 0){
      alert('다음 곡이 없습니다.');
     }else{
      alert('마지막 곡입니다.');
     }
     return false;
    }else{
     nCurrentTrack = nCurrentTrack + 1;
     PlayMusic(nCurrentTrack);
    }
    break;
   case 'one':
    if (nTotalTrack - 1 == 0){
     alert('다음 곡이 없습니다.');
     return false;
    }else{
     if (nCurrentTrack == (nTotalTrack - 1)){
      nCurrentTrack = 0;
     }else{
      nCurrentTrack = nCurrentTrack + 1;
     }
     PlayMusic(nCurrentTrack);
    }
    break;
  }
 }
}</p>
<p>
// 랜덤 재생
function SetRandom(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> if (!bIsRandomMode){
  bIsRandomMode = true;
  strLoopMode = 'none';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_RANDOM.childNodes[0], random_down);
  ShowToolTip(KP_BTN_RANDOM, ' 리스트곡 한번 재생 ');
  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_on);
  ShowToolTip(KP_BTN_LOOP_ALL, ' 전체곡 반복 재생 ');
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_on);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 현재곡 반복 재생 ');
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_Random);</p>
<p> }else{
  bIsRandomMode = false;
  strLoopMode = 'none';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_RANDOM.childNodes[0], random_on);
  ShowToolTip(KP_BTN_RANDOM, ' 랜덤 반복 재생 ');
  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_on);
  ShowToolTip(KP_BTN_LOOP_ALL, ' 전체곡 반복 재생 ');
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_on);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 현재곡 반복 재생 ');
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_One);
 }
}</p>
<p>function RandomNext(){
 if ((nTotalTrack - 1) == 0){
  PlayMusic(nCurrentTrack);
  errCount = 0;
 }else{
  var tmp;
  do{
   tmp = Math.floor(Math.random() * nTotalTrack);
   if (tmp != nCurrentTrack) break;
  }while(1);
  nCurrentTrack = eval(tmp);
  PlayMusic(nCurrentTrack);
  errCount = 0;
 }
}</p>
<p>// 현재곡 반복 재생
function SetLoopOne(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> if (strLoopMode == 'one'){
  bIsRandomMode = false;
  strLoopMode = 'none';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_on);
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_on);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 현재곡 반복 재생 ');
  ImageShow(KP_BTN_RANDOM.childNodes[0], random_on);
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_One);</p>
<p> }else{
  bIsRandomMode = false;
  strLoopMode = 'one';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_on);
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_down);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 리스트곡 한번 재생 ');
  ImageShow(KP_BTN_RANDOM.childNodes[0], random_on);
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_LoopOne);
 }
}</p>
<p>
// 전체곡 반복 재생
function SetLoopAll(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> if(strLoopMode == 'all'){
  bIsRandomMode = false;
  strLoopMode = 'none';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_on);
  ShowToolTip(KP_BTN_LOOP_ALL, ' 전체곡 반복 재생 ');
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_on);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 현재곡 반복 재생 ');
  ImageShow(KP_BTN_RANDOM.childNodes[0], random_on);
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_One);</p>
<p> }else{
  bIsRandomMode = false;
  strLoopMode = 'all';</p>
<p>  DisplaySong();</p>
<p>  ImageShow(KP_BTN_LOOP_ALL.childNodes[0], loopall_down);
  ShowToolTip(KP_BTN_LOOP_ALL, ' 리스트곡 한번 재생 ');
  ImageShow(KP_BTN_LOOP_ONE.childNodes[0], loopone_on);
  ShowToolTip(KP_BTN_LOOP_ONE, ' 현재곡 반복 재생 ');
  ImageShow(KP_BTN_RANDOM.childNodes[0], random_on);
  ImageShow(KP_MEDIA_MODE.childNodes[0], Mode_LoopAll);
 }
}</p>
<p>
// 재생 목록 / 재생가사 open / close
function PlayListOpen(){
 if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p> bIsOpenList = !bIsOpenList;
 if (bIsOpenList){
  SetDivCheck();
  SetWinResize();</p>
<p>  ImageShow(KP_BTN_OPEN_CLOSE.childNodes[0], openlist_down);</p>
<p>  BlockDisplay(KP_BG_FRAME, '');
  BlockDisplay(KP_LABEL_COUNT, '');
  BlockDisplay(KP_BTN_VIEW_CHANGE, '');
  if (strViewType == 'list'){
   BlockDisplay(KP_VIEW_PLAY_LIST, '');
  }else if (strViewType == 'lyrics'){
   BlockDisplay(KP_VIEW_PLAY_LYRICS, '');
  }
 }else{
  SetDivCheck();
  SetWinResize();</p>
<p>  ImageShow(KP_BTN_OPEN_CLOSE.childNodes[0], openlist_on);</p>
<p>  BlockDisplay(KP_BG_FRAME, 'none');
  BlockDisplay(KP_LABEL_COUNT, 'none');
  BlockDisplay(KP_BTN_VIEW_CHANGE, 'none');
  BlockDisplay(KP_VIEW_PLAY_LIST, 'none');
  BlockDisplay(KP_VIEW_PLAY_LYRICS, 'none');
 }</p>
<p> //FrmLayerMoveTo();
 DivControlTopMove();
 OpenListTitle();
 SetPlayListOnload();</p>
<p> WinReSize();
}</p>
<p>
// 목록 / 가사 변경
function ViewTypeChg(){
 if (bIsOpenList){
  if (!bIsLoaded){ShowState('노래가 시작된후 사용하세요.');return false;}</p>
<p>  if (strViewType == 'lyrics'){
   strViewType = 'list';
   BlockDisplay(KP_VIEW_PLAY_LYRICS, 'none');
   BlockDisplay(KP_VIEW_PLAY_LIST, '');
   ImageShow(KP_BTN_VIEW_CHANGE.childNodes[0], list_change_on);
  }else if (strViewType == 'list'){
   strViewType = 'lyrics';
   BlockDisplay(KP_VIEW_PLAY_LIST, 'none');
   BlockDisplay(KP_VIEW_PLAY_LYRICS, '');
   ImageShow(KP_BTN_VIEW_CHANGE.childNodes[0], lyrics_change_on);
  }
  
  OpenListTitle();
  SetPlayListOnload();
 }
}</p>
<p>
// 목록 (현재 트랙 곡 색상 변경) / 가사 (재생 가사 페이지로 이동)
function ViewMode(){
 if (bIsOpenList){
  if (strViewType == 'list'){
   TextColor();
  }else if (strViewType == 'lyrics'){
   KP_VIEW_PLAY_LYRICS.childNodes[0].childNodes[0].childNodes[0].childNodes[1].innerHTML = KPVIEW_PLAY_LYRICS_VIEW(nCurrentTrack);
   KP_VIEW_PLAY_LYRICS.scrollTop = '0px';
  }
  OpenListChange();
 }
}</p>
<p>
// display 초기화
function DisplayInit(){
 if (bIsTwoLyrics){
  ShowColor1('');
  ShowTwoLyrics1('');
  ShowColor2('');
  ShowTwoLyrics2('');
 }
 
 ShowStatePercent('');
 ImageShow(KP_CURRENT_TIME.childNodes[0].childNodes[0], (bIsLapTime ? minus_on : minus_off));
 if (bIsImage){
  TimerInit();
 }else{
  ShowCurrentTime(StopText);
 }
 ShowMediaKBPS('');
 ShowMediaType('');
 DivMoveToL(KP_TRACK_BAR, parseInt(nTrackBarStartPos));
}</p>
<p>
function TimerInit(){
 PlayTimeSet(0);
}</p>
<p>
// tooltip 초기화
function ToolTipInit(){
 ShowState('로딩 중....');</p>
<p> ShowToolTip(KP_BTN_LOOP_ALL, (!bIsRandomMode && strLoopMode == 'all') ? ' 리스트곡 한번 재생 ' : ' 전체곡 반복 재생 ');
 ShowToolTip(KP_BTN_LOOP_ONE, (!bIsRandomMode && strLoopMode == 'one') ? ' 리스트곡 한번 재생 ' : ' 현재곡 반복 재생 ');
 ShowToolTip(KP_BTN_RANDOM, (bIsRandomMode && strLoopMode == 'none') ? ' 리스트곡 한번 재생 ' : ' 랜덤 반복 재생 ');
 
 ShowToolTip(KP_BTN_ACT, ' 재생 ');
 ShowToolTip(KP_BTN_STOP, ' 정지 ');
 ShowToolTip(KP_BTN_PREV, ' 이전 ');
 ShowToolTip(KP_BTN_NEXT, ' 다음 ');
 ShowToolTip(KP_BTN_MUTE, ' 음소거 ');
 
 ShowToolTip(KP_TRACK_BAR, ' 트랙 검색 ');
 ShowToolTip(KP_VOLUME_BAR, ' 볼륨 ');
 
 ShowToolTip(KP_BTN_LAPTIME, (bIsLapTime) ? ' 진행시간 표시 ' : ' 남은시간 표시 ');</p>
<p> OpenListTitle();
}</p>
<p>
// 재생 대기 상태
function StopInit(){
 KP_Controls.Stop();</p>
<p> bIsBufferMode = false;
 bIsPlayMode = false;
 bIsPauseMode = false;
 bIsStopMode = true;
 DisplayState(100);
}</p>
<p>
function SetUnload(){
 if (BrInfo.ie5){
  OnErrTimer();
  if (OnPlay != null ) clearTimeout(OnPlay);
  if (disPlayState != null ) clearTimeout(disPlayState);
  if (disPlayBuff != null ) clearTimeout(disPlayBuff);</p>
<p>  KP_Controls.Stop();
  KP_KPlayer.Close();
 }
}</p>
<p>
// MediaType (audio, video, playlist, radio)  FileType (mid, wave, asf, wma, wmv ...)
function GetMediaInfo(itemName){
 if (KP_OpenState == 13){
  return KP_KPlayer.CurrentMedia.getItemInfo(itemName);
 }
}</p>
<p>function GetMediaType(){
 var e = GetMediaInfo('MediaType');
 var e2 = GetMediaInfo('FileType');
 var onAir = GetMediaInfo('Type');
 var str = '';
 if (e == '' || e == null){
  str = '????';
 }else{
  if (e2 == '' || e2 == null){
   str = e.toUpperCase() + ((onAir == 'broadcast') ? GetFileType('LIVE') : (e.toUpperCase() == 'AUDIO') ? GetFileType('MP3') : '');
  }else{
   str = e.toUpperCase() + GetFileType(e2.toUpperCase());
  }
 }
 return str;
}</p>
<p>function GetFileType(type){
 var str = '';
 switch (type){
  case 'ASF': case 'ASX': case 'DVR_MS': case 'WPL': case 'WM': case 'WMX': case 'WMD': case 'WMZ':
   str = '(ASF)';
   break;
  case 'WMA': case 'WAX':
   str = '(WMA)';
   break;
  case 'WMV': case 'WVX':
   str = '(WMV)';
   break;
  case 'CDA':
   str = '(CDA)';
   break;
  case 'AVI':
   str = '(AVI)';
   break;
  case 'WAV':
   str = '(WAV)';
   break;
  case 'MPEG': case 'MPG': case 'MPE': case 'M1V': case 'MP2': case 'MPV2': case 'MP2V': case 'MPA':
   str = '(MPEG)';
   break;
  case 'MPGA':
   str = '(MPGA)';
   break;
  case 'MP3': case 'M3U': case 'PLS':
   str = '(MP3)';
   break;
  case 'MID': case 'MIDI': case 'RMI':
   str = '(MIDI)';
   break;
  case 'AIF': case 'AIFC': case 'AIFF':
   str = '(AIFF)';
   break;
  case 'AU': case 'SND':
   str = '(AU)';
   break;
  case 'DSM':
   str = '(DSM)';
   break;
  case 'DRC':
   str = '(DRC)';
   break;
  case 'DFX':
   str = '(DFX)';
   break;
  case 'OGA':
   str = '(OGA)';
   break;
  case 'OGG':
   str = '(OGG)';
   break;
  case 'OGM':
   str = '(OGM)';
   break;
  case 'OGV':
   str = '(OGV)';
   break;
  case 'LIVE':
   str = '(LIVE)';
   break;
  case 'ASP': case 'ASPX': case 'PHP': case 'JSP':
   str = '';
   break;
  default : 
   str = '';
   break;
 }
 return str;
}</p>
<p>function GetBitRate(type){
 var str = '';
 //var bit = KP_Network.BitRate;
 var bit = GetMediaInfo('Bitrate');
 if (bit > 0){
  if(GetMediaInfo('FileType').toUpperCase() == 'MP3' && (bit > 320000)){
   str = (type == 1) ? 'VBR' : 'VBR ';
  }else{
   if (type == 1){
    str = (bit > 1000) ? Math.floor(bit/1000) : (bit/1000);
   }else{
    str = (bit > 1000) ? Math.floor(bit/1000) + 'KB/초 ' : parseInt(bit) + 'B/초 ';
   }
  }
 }else{
  str = (type == 1) ? 'VBR' : 'VBR ';
 }
 return str;
}</p>
<p>// text cutting
function GetFileExt(str){
 var str2 = str;
 var e = 0;
 e = str2.lastIndexOf(".") + 1;
 str2 = str2.substring( e );
 return str2.toUpperCase();
}</p>
<p>function GetFileName(str){
 var str2 = str;
 var e = 0;
 e = str2.lastIndexOf(".");
 str2 = str2.substring(0, e);
 return str2;
}</p>
<p>
function LenghtB(strType){
 var lenObj = 0;</p>
<p> for (var i = 0; i < strType.length; i++){
  if (strType.charCodeAt(i) > 128){
   lenObj += 2;
  }else{
   lenObj += 1;
  }
 }
 return lenObj;
}</p>
<p>function SubStrB(strType, size){
 var str;
 var lenObj = 0;</p>
<p> for (var i = 0; i < strType.length; i++){
  if (strType.charCodeAt(i) > 128){
   lenObj += 2;
  }else{
   lenObj += 1;
  }</p>
<p>  if (lenObj > size){
   str = strType.substr(0,i);
   return str;
  }
 }
}</p>
<p>function TextLeft(text, size){
 var str;
 var intSet = LenghtB(text);</p>
<p> if (intSet > size){
  str = SubStrB(text, size) + '...';
 }else{
  str = text;
 }
 return str;
}</p>
<p>
// 볼륨을 쿠키에 저장
function getCookieVolume(){
 var search = 'KPlayerVolume=';
 var returnvalue = '';
 if (document.cookie.length > 0){
  offset = document.cookie.indexOf(search);
  if (offset != -1){
   offset += search.length;
   end = document.cookie.indexOf(';', offset);
   if (end == -1)
   end = document.cookie.length;
   returnvalue=unescape(document.cookie.substring(offset, end));
  }
 }
 if(returnvalue == '') returnvalue = nVolValue; //볼륨설정(180 - 280) 위치 px값(230 ==> 볼륨 50%)
 return Math.floor(returnvalue);
}</p>
<p>
function setCookieVolume(value){
 document.cookie = 'KPlayerVolume=' + value;
}</p>
<p>
// Netscape Navigator Mozilla ActiveX control and plugin 설치여부 체크
function IsNSPluginInstalled(){
 if (navigator.mimeTypes && navigator.mimeTypes["application/x-mplayer2"] && navigator.mimeTypes["application/x-mplayer2"].enabledPlugin){
  return true;
 }else{
  return false;
 }
}</p>
<p>
function IsNSPluginInstalled2(){
 if (navigator.mimeTypes && navigator.mimeTypes["application/x-oleobject"] && navigator.mimeTypes["application/x-oleobject"].enabledPlugin){
  return true;
 }else{
  return false;
 }
}</p>
<p>
function ErrAlt(){
 var isMsg = '플레이어 : \n'
   + 'Window Media Player 7+ 이상 설치\n\n'
   + '브라우저 : \n'
   + 'Internet Explorer 5.x+ 이상 재생 가능,\n\n'
   + 'Netscape 7.x+,\n'
   + 'Mozilla 1.x+,\n'
   + 'Mozilla Firefox 0.9.x+,\n'
   + '(Window Media Player Plug-in : \n'
   + ' npds.zip \n'
   + ' npdsplay.dll \n'
   + ' npwmsdrm.dll,\n'
   + 'Mozilla ActiveX control and plugin : \n'
   + ' npmozax.dll\n'
   + ') 이상 플러그인 설치 가능한 최신버전의 \n\n'
   + '브라우저만 재생 가능.';
 alert(isMsg);
 window.close();
}</p>
<p>
function TrackErr(){
 var isMsg = '현재 등록된 곡이 없습니다.\n\n'
   + '곡을 등록하세요.';
 alert(isMsg);
 window.close();
}</p>
<p>
//window.onunload = function(){SetUnload();};</p>
<p>// 키 제한
window.onerror = function(){return true;};</p>
<p>document.onkeydown = processKey;
document.onkeypress = processKey;</p>
<p>function processKey(e){
 var evt = (!e) ? window.event : e;
 if (evt.keyCode) evt.keyCode = 0;
 if (evt.preventDefault){
  evt.preventDefault();
  evt.stopPropagation();
 }else{
  evt.returnValue = false;
  evt.cancelBubble = true;
 }
 return false;
}</p>
<p>

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인