var songtime1	= null;
var doFirstPlay = null;
var songPlaying = false;
var track		= 0;
var songNum		= null;
var songName	= null;
var songTime	= null;
var showTitle	= null;
var count		= 0;
var loop		= false;
var playMode	= null;
var restLength	= null;

function init_bgm() { 
	if (showTitle == null) { showTitle = 1; }
	switch (showTitle) {
		case 0 :
			document.FORM1.stitle.style.visibility = "hidden";
			document.FORM1.stitle.size = 1;
			break;
		case 1 :
			document.FORM1.stitle.style.visibility = "visible";
			break;
		case 2 :
			document.FORM1.stitle.style.visibility = "hidden";
			document.FORM1.stitle.size = 1;
			break;
		default :
			showTitle = 1;
	}
	if (playMode == null)		{ playMode = 0; }
	if (restLength == null)		{ restLength = 5; }
	if (doFirstPlay == null)	{ doFirstPlay = 1; }
	if (doFirstPlay == 1)		{ play(); }
}

function addbgm( url, title, time ) {
	if (songNum == null)	{ songNum = new Array(); count = 0;} else { count = songNum.length; }
	if (songName == null)	{ songName = new Array(); }
	if (songTime == null)	{ songTime = new Array(); }
	songNum[count] = url;
	if (title == null || title == '' ) { title1 = 'Track ' + (count + 1); } else { title1 = title; }
	songName[count] = title1;
	songTime[count] = time;
}

function chgLoop() {
	if (loop == false) {loop = true;}
	else {loop = false;}
}

function play() {
	if (songPlaying) {
		alert("ÀÌ¹Ì Àç»ýÁßÀÔ´Ï´Ù!!!");
		return;
	}
	switch (playMode) {
		case 0 :
			track = 0;
			break;
		case 1 : 
			track = Math.floor(Math.random() * songNum.length);
			break;
		default : 
			track = 0;
	}
	chooseSong(track);
}

function stopTrack() {
	document.Music.Stop()
	if (songPlaying) {
		clearTimeout(songtime1);
	}
	else {  return false;}
	songPlaying = false;
	updateTrack();
}

function checkloop( action ) {
	if ( loop == true ) { chooseSong(track); }
	else {
		switch (action) {
			case "next" :
				nextTrack();
				break;
			case "pre" :
				preTrack();
				break;
			default : 
				alert("¾Ë ¼ö ¾ø´Â ¸í·ÉÀÔ´Ï´Ù!!\n\n¸ÞÀÎ ½ºÅ©¸³Æ®¸¦ È®ÀÎÇÏ½ÅÈÄ, Àç½ÇÇàÇÏ½Ê½Ã¿À");
				stopTrack();
		}
	}
}

function chooseSong(aaa) {
	if (songPlaying) {
		clearTimeout(songtime1);
	}
	track = aaa; 
	if(track > songNum.length - 1 || track < 0) { 
		alert("Á¸ÀçÇÏÁö ¾Ê´Â Æ®·¢¹øÈ£ÀÔ´Ï´Ù!!!"); 
		return false;
	}
	var nowtrack1 = songNum[track];
	document.Music.Open(nowtrack1); 
	songPlaying = true;
	updateTrack(); 
	var t_time1 = songTime[track] + restLength;
	var t_time = t_time1 * 1000;
	songtime1 = setTimeout("checkloop('next')",t_time); 
}

function nextTrack() {
	if (playMode == 1) { var num = Math.floor(Math.random() * songNum.length); }
	else {
		if(track == songNum.length - 1) { var num = 0; }
		else { var num = track + 1; }
	}
	chooseSong(num);
}

function preTrack() {
	if (playMode == 1) { var num = Math.floor(Math.random() * songNum.length); }
	else {
		if(track == 0) { var num = songNum.length - 1; }
		else { var num = track - 1; }
	}
	chooseSong(num);
}

function updateTrack() {
	if (songPlaying) { 
	track_idx = track + 1;
	switch (showTitle) {
		case 0 :
			window.status = ('Á¦¸ñ Ç¥½Ã ±â´ÉÀ» »ç¿ëÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù!!'); return true;
			break;
		case 1 :
			document.FORM1.stitle.value = "¢Ý " + track_idx + ". " + songName[track];
			break;
		case 2 :
			window.status = ('¢Ý ' + track_idx + '. ' + songName[track]); return true;
			break;
		default :
			window.status = ('Á¦¸ñ Ç¥½Ã ±â´ÉÀ» »ç¿ëÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù!!'); return true;
		}
	}
	else { //³ë·¡¸¦ Àç»ýÇÏ°í ÀÖÁö ¾Ê´Ù¸é...
		switch (showTitle) {
		case 0 :
			window.status = ('Stand by... [stopped]'); return true;
			break;
		case 1 :
			document.FORM1.stitle.value = "Stand by... [stopped]";
			break;
		case 2 :
			window.status = ('Stand by... [stopped]'); return true;
			break;
		default :
			window.status = ('Stand by... [stopped]'); return true;
		}
	}
}
