var song = new Array (); // url, title, playing time
var loadtime = 3000; // time for donwloading
var state = 0;
var index = 0;
var list = new Array;
var listIndex = 0;
var t = 0;


function player () {
	makePlayList();
	bgm();
}

function playerStop () {
	clearTimeout (t);
	removePlayer();
	document.getElementById("title").innerHTML="";
//	document.getElementById('bgm-title').innerHTML = "<marquee width='150' aligen='left' scrollamount='1'></marquee>";
}

function bgm() {
	if (listIndex == song.length) {
		makePlayList();
		listIndex = 0;
	}
	clearTimeout (t);
	index = list[listIndex];
	drawTitle();
	musicPlayer();
	t = setTimeout ("bgm()", song[index][2]+loadtime);
//	setTimeout ("bgm()", 10000);
	listIndex++;
}

function makePlayList() {
	for (var i = 0; i <= song.length-1; i++) {
		var ran = Math.floor(Math.random() * song.length);
		for (var j = 0; j <= i; j++) {
			if (j!=i && ran == list[j]) {
				i=i-1;
				break;
			}
			else {
				list[i] = ran;
			}
		}
	}
}

function removePlayer() {

	var p = document.getElementById("bgm-player");
	if (document.getElementById("wmp")) {
		var o = document.getElementById("wmp");
		p.removeChild(o);
	}
}

function musicPlayer() {

    var name = navigator.appName;
	var data = "http://www.hyouk.net/bgm/player.swf?autostart=yes&bg=0xEDF3DE&leftbg=0xD0EC8B&lefticon=0xffffff&rightbg=0xB5CF75&rightbghover=0xa3c159&righticon=0xffffff&righticonhover=0xffffff&text=0x888888&slider=0xA0C55F&track=0xABE324&border=0xC9CDC5&loader=0xF7F8F2&soundFile=" + song[index][0];
	
	var ob;
	var p = document.getElementById("bgm-player");

	removePlayer();	

	if (name == "Microsoft Internet Explorer") {

		var Ob = document.createElement( "<object id = 'wmp' width = '0' height = '0' type='application/x-shockwave-flash' data = "+data+" '>");
	}
	else {
		var Ob = document.createElement("object");
		Ob.type = "application/x-shockwave-flash";
		Ob.width = "0";
		Ob.height = "0";
		Ob.data = data;
		Ob.id = "wmp";
	}

//	<param name="quality" value="high" />
//	<param name="menu" value="false" />
//	<param name="wmode" value="transparent" /></object>

	var Pa = document.createElement("param");
	Pa.name = "movie";
	Pa.value = data;
	Ob.appendChild(Pa);
//	Ob.style.visibility = "hidden";
	Ob.style.background = "#181818"
	Ob.style.color = "#181818"

	p.appendChild( Ob );

	state = 1;
}

function drawTitle() {
//	var _title = document.getElementById('title');
	document.getElementById('title').innerHTML=song[index][1];
//	document.getElementById('bgm-title').innerHTML = "<marquee width='150' aligen='left' scrollamount='1'> " + song[index][1] + " </marquee>";
}

function loadXMLDoc (dname) {
	/*
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load(dname);
	return(null);
	*/

	try { //Internet Explorer
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	} catch(e) {
		try { //Firefox, Mozilla, Opera, Safari etc.
			xmlDoc=document.implementation.createDocument("","",null);
		} catch(e) {alert(e.message)}
	} try {
		xmlDoc.async=false;
		xmlDoc.load(dname);
		return(xmlDoc);
	} catch(e) {
		try {
			var xmlhttp = new window.XMLHttpRequest();
			xmlhttp.open("GET",dname,false);
			xmlhttp.send(null);
			xmlDoc = xmlhttp.responseXML.documentElement;
			return(xmlDoc);
		} catch(e) {alert(e.message)}
	}
	
	return(null);

	/*
	if (navigator.appName == "Microsoft Internet Explorer") {
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(dname);	
	}
	else {
		// xmlDoc=document.implementation.createDocument("","",null);
		var xmlhttp = new window.XMLHttpRequest();
		xmlhttp.open("GET",dname,false);
		xmlhttp.send(null);
		xmlDoc = xmlhttp.responseXML.documentElement;
	}
	*/
}

function requestPlayList () {
	xmlDoc = loadXMLDoc ("/bgm/music.xml");
	var url;
	var title;
	var duration;

	for (var i = 0; i < xmlDoc.getElementsByTagName("song").length; i++) {
		url = xmlDoc.getElementsByTagName("url")[i].childNodes[0].nodeValue;
		title = xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
		duration = xmlDoc.getElementsByTagName("duration")[i].childNodes[0].nodeValue;
		song[song.length] = new Array (url,title,parseInt(duration));
	}

	list = new Array (xmlDoc.getElementsByTagName("song").length);
}


