var disks = 0;
var tracks = [];
var default_tracks = 5;


function add_disk()
{
	var div = document.getElementById('disk').cloneNode('true');
	div.id = 'disk' + disks;
	div.style.display = 'block';

	var track_place;

	var div_fields = div.childNodes;
	for (var i = 0; i < div_fields.length; i++) {
		// Change all SPAN text from "disknum" to
		// actual disknum
		if (div_fields[i].className == 'disknum') {
			div_fields[i].innerHTML = disks + 1;
		}

		// Save the place for adding the first track
		if (div_fields[i].className == 'addtrack') {
			track_place = div_fields[i];
		}

		// Change INPUT name from "song" to songnum
		if (div_fields[i].name == 'song') {
			div_fields[i].name = 'song_d' + (disks + 1) + '_1';
		}

		// Change INPUT name from "runtime" to real runtime
		if (div_fields[i].name == 'runtime') {
			div_fields[i].name = 'runtime' + (disks + 1);
		}
	}

	// Update the disks element
	document.getElementById('numdisks').value = disks + 1;

	// Create tracks element for this disk
	var numtracks = document.createElement('input');
	numtracks.setAttribute('type', 'hidden');
	var name = 'num_songs_d' + (disks + 1);
	numtracks.setAttribute('name', name);
	numtracks.setAttribute('id', name);

	// Find a place for it and insert the num_tracks
	var place = document.getElementById('numdisks');
	place.parentNode.insertBefore(numtracks,place);

	// Find a place and insert the whole disk element
	place = document.getElementById('disk');
	place.parentNode.insertBefore(div,place);

	// Update our counters
	tracks[disks] = 0;
	disks++;
	
	// Add tracks
	for (var i = 0; i < default_tracks; i++) {
		add_track(track_place);
	}

}

function add_track(node)
{
	// First we figure out what disk we're on...
	var tmparray = node.parentNode.id.split('k');

	// disknum's start with 0, so we increment it for usefulness
	var disknum = tmparray[1];
	disknum++;

	// but the tracks array uses real disknums
	var num_tracks = tracks[disknum - 1];

	var div = document.getElementById('track').cloneNode('true');
	var trackname = 'song_d' + disknum + '_' + ( num_tracks + 1 );
	div.id = trackname;
	div.style.display = 'block';

	var div_fields = div.childNodes;
	for (var i = 0; i < div_fields.length; i++) {
		// Change all SPAN text from "tracknum" to actual songnum
		if (div_fields[i].className == 'tracknum') {
			div_fields[i].innerHTML = num_tracks + 1;
		}

		// Change INPUT name from "song" to songnum
		if (div_fields[i].name == 'song') {
			div_fields[i].name = trackname;
		}
	}

	// Update the tracks element
	var name = 'num_songs_d' + disknum;
	document.getElementById(name).value = num_tracks + 1;

	// Insert the track
	node.parentNode.insertBefore(div,node);

	tracks[disknum - 1]++;
}

function remove_track(node)
{
	// First we figure out what disk we're on...
	var tmparray = node.parentNode.id.split('k');
	var disknum = tmparray[1];

	// Then we figure out the number of tracks on that disk...
	var numtracks = tracks[disknum];

	if (numtracks == 1) {
		return;
	}

	disknum++;

	// The ID for that...
	var name = 'song_d' + disknum + '_' + numtracks;
	var elmt = document.getElementById(name);
	node.parentNode.removeChild(elmt);

	// Update our counter
	tracks[disknum-1]--;

	// Update the num_songs_dX element
	name = 'num_songs_d' + disknum;
	document.getElementById(name).value = numtracks - 1;
}

function remove_disk(node)
{
	if (disks == 1) {
		return;
	}

	var name = 'disks' + (disks - 1);
	var elmt = document.getElementById('disk' + (disks - 1));
	// node is a
	// parentNode is TD
	// parentNode is TR
	//node.parentNode.removeChild(elmt);

	node = document.getElementById('tracklist');
	node.removeChild(elmt);

	// Update the disks element
	document.getElementById('numdisks').value = disks;

	// Update our counters
	disks--;
}

function change_type2(type)
{

	if (type == 'video') {
		var node = document.getElementById('vidquality');
		var div = node.cloneNode('true');
		var place = document.getElementById('sound');
		alert('place: ' + place);
		div.id = 'real_vidquality';
		div.style.display = 'block';
		var children = div.childNodes;
		for (var i = 0; i < children.length; i++) {
			alert('child: ' + children[i]);
		}
		// Find a place for it and insert the num_tracks
		place.parentNode.insertBefore(div,place);
	} else {
		var node = document.getElementById('real_vid_tr');
		node.parentNode.removeChild(node);
	}
}

function change_type(type)
{
	var disp = 'none';

	if (type == 'video') {
		disp = 'block';
	}

	document.getElementById('vid1').style.display = disp;
	document.getElementById('vid2').style.display = disp;
}

window.onload = add_disk;


