
Event.observe(window, 'load', init, false);

/////////// ALBUM LIST: ////////////

var _ie;

function init() {
	//($('albums'));
	var url = 'mp3/getdirs.php';
	var myAjax = new Ajax.Request(url, {	method: "get", parameters: "", onComplete: showAlbums});
	_ie = (navigator.appVersion.indexOf("MSIE") != -1)? true:false;
}

var albumID = 0;
var albums = new Array();
var shownAlbums = new Array();
var loadingAlbums = new Array();

function showAlbums(result) {
	albums = $A(result.responseXML.getElementsByTagName('album'));
	var str = "";
	albums.each(function(node){
		var a = node.getAttribute('dir');
		str += "<div id='albumTitle"+albumID+"' class='albumTitle'><a class='albumLink' href='javascript:void(0)' onClick='showAlbum(\""+a+"\", "+albumID+")'>"+a.substr(5)+"</a></div><hr size='1' width='700' align='left' />";
		albumID++;
	});
	$('albums').innerHTML = str;
}



////////// SONG LIST (PO JEDAN ALBUM: ///////////////

function showAlbum(dir, id) {
	if ($('viewOptionAll').checked) {
		if (shownAlbums.indexOf(id) != -1) {
			Element.toggle('songList'+id);
		}
		else {
			if (loadingAlbums.indexOf(id) == -1) {
				getAlbum(dir, id);
				loadingAlbums.push(id);
			}
		}
	}	
	else {
		if ($('songList'+id) != null && Element.visible('songList'+id)) {
			hideAllLists();
		}
		else {
			hideAllLists();
			if (shownAlbums.indexOf(id) != -1) {
				Element.toggle('songList'+id);
			}
			else {
				if (loadingAlbums.indexOf(id) == -1) {
					getAlbum(dir, id);
					loadingAlbums.push(id);
				}
			}
		}
	}
}

function hideAllLists() {
	for (var i=0; i<albumID; i++) {
		if ($('songList'+i) != null) {
			Element.hide('songList'+i);
		}
	}
}

function getAlbum(dir, id) {
	var songList = document.createElement('div');
	songList.className = "loader";
	songList.setAttribute('id', 'songList'+id);
	songList.innerHTML = "&nbsp;Loading...";
	$('albumTitle'+id).appendChild(songList);
	var url = 'mp3/getsongs.php';
	var param = "dir="+dir+"&id="+id;
	var myAjax = new Ajax.Request(url, {method: "get", parameters: param, onComplete: makeAlbum});
	//// , onLoading:loading, onLoaded: loaded, onInteractive:interactive
}

function loading(arg) {alert("loading: " + arg)}
function loaded(arg) {alert("loaded: " + arg)}
function interactive(arg) {alert("interactive: " + arg)}

var divCnt = 0;

function makeAlbum(result) {
	var songs = $A(result.responseXML.getElementsByTagName('song'));
	//alert(songs.length);
	var dir = result.responseXML.getElementsByTagName('album')[0].getAttribute('dir');
	var id = result.responseXML.getElementsByTagName('album')[0].getAttribute('id');

	var str = "<table border='0' cellspacing='0' cellpadding='0'>";
	str += "<tr><td valign='top' class='songTH'>title</td><td valign='top' class='songTH'>time</td><td valign='top' class='songTH'><a class='toggle' href='javascript:void(0)' onMouseOver='status=\"uklj/islj\"; return true;' onMouseOut='status=\"\"' onClick='tabSwitch(\"artist\")'>artist</a></td><td valign='top' class='songTH'><a class='toggle' href='javascript:void(0)' onMouseOver='status=\"uklj/islj\"; return true;' onMouseOut='status=\"\"' onClick='tabSwitch(\"albumName\")'>album</a></td><td valign='top' class='songTH'><a class='toggle' href='javascript:void(0)' onMouseOver='status=\"uklj/islj\"; return true;' onMouseOut='status=\"\"' onClick='tabSwitch(\"year\")'>year</a></td><td valign='top' class='songTH'><a class='toggle' href='javascript:void(0)' onMouseOver='status=\"uklj/islj\"; return true;' onMouseOut='status=\"\"' onClick='tabSwitch(\"komentar\")'>komentari</a></td>";
	str += "<td class='songTH'><a class='toggle' href='javascript:void(0)' onMouseOver='status=\"uklj/islj\"; return true;' onMouseOut='status=\"\"' onClick='tabSwitch(\"link\")'>downld</a></td></tr>";
	songs.each(function(node){
		var name = node.getElementsByTagName('name')[0].firstChild.nodeValue;
		var length = node.getElementsByTagName('length')[0].firstChild.nodeValue;
		var artist = node.getElementsByTagName('artist')[0].firstChild.nodeValue; if (artist == "") artist = "&nbsp;";
		var album = node.getElementsByTagName('albumName')[0].firstChild.nodeValue; if (album == "") album = "&nbsp;";
		var year = node.getElementsByTagName('year')[0].firstChild.nodeValue; if (year == "") year = "&nbsp;";
		var comment = node.getElementsByTagName('comment')[0].firstChild.nodeValue; if (comment == "") comment = "&nbsp;";
		var src = node.getElementsByTagName('src')[0].firstChild.nodeValue;
		var fullSrc = dir + "/" + src;
		str += "<tr><td valign='top' class='songTD'>";
		str += "<a class='songLink' href='javascript:playSong(\"" + fullSrc + "\")'>" + name + "</a> "  + "<div class='playTrigger' id='" + fullSrc + "'>" + writeTriggerFlash(fullSrc) + "</div></td>";
		str += "<td valign='top' class='songTD'>" + length + "</td>";
		str += "<td valign='top' class='songTD'><div id='hideable"+(divCnt++)+"' class='artist'>" + artist + "</div></td>";
		str += "<td valign='top' class='songTD'><div id='hideable"+(divCnt++)+"' class='albumName'><i>" + album + "</i></div></td>";
		str += "<td valign='top' class='songTD'><div id='hideable"+(divCnt++)+"' class='year'>" + year + "</div></td>";
		str += "<td valign='top' class='songTD'><div id='hideable"+(divCnt++)+"' class='komentar'>" + comment + "</div></td>";
		str += "<td valign='top' class='songTD'><div id='hideable"+(divCnt++)+"' class='link'><a href='mp3/"+fullSrc+"'>save&nbsp;as</a></div></td>";
		str += "</tr>"
	});
	str += "</table>";
	var list = $('songList'+id);
	list.className = "songList";
	list.innerHTML = str;
	shownAlbums.push(id);
	tabDisplay('artist');
	tabDisplay('albumName');
	tabDisplay('year');
	tabDisplay('komentar');
	tabDisplay('link');
}

function playSong(fullSrc) {
	$(fullSrc).style.display = "block";
	if (_ie) {
//		alert(writeTriggerFlash(fullSrc))
		$(fullSrc).innerHTML = writeTriggerFlash(fullSrc);
	}
}

function writeTriggerFlash(fullSrc) {
	var fStr = "<object id='"+fullSrc+"Trigger' width='1' height='1' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0'>";
	fStr += "<param name='movie' value='mp3/playTrigger.swf?song="+fullSrc+"'></param>";
	fStr += "<embed type='application/x-shockwave-flash' ";
	fStr += "src='mp3/playTrigger.swf?song="+fullSrc+"' ";
	fStr += "width='1' height='1'></embed></object>";
	return fStr;
}

function closeTrigger(fullSrc) {
	$(fullSrc).style.display = "none";
}

var artistShow = false;
var yearShow = false;
var albumNameShow = false;
var komentarShow = false;
var linkShow = false;

function tabSwitch(css) {
	var allD = $A(document.getElementsByTagName('div'));
	for (var i=0; i<allD.length; i++) {
		var name = allD[i].id;
		if (allD[i].className == css) {
			if (!window[css+"Show"]) {
				$(name).style.display = "block";
			}
			else {
				$(name).style.display = "none";
			}
		}
	}
	if (!window[css+"Show"]) {
		window[css+"Show"] = true;
	}
	else {
		window[css+"Show"] = false;
	}
	
}

function tabDisplay(css) {
	var allD = $A(document.getElementsByTagName('div'));
	for (var i=0; i<allD.length; i++) {
		var name = allD[i].id;
		if (allD[i].className == css) {
			if (!window[css+"Show"]) {
				$(name).style.display = "block";
			}
			else {
				$(name).style.display = "none";
			}
		}
	}
}
