var noteTitles = new Array('Note:E(Mi); Octave:#1', 'Note:F(Fa); Octave:#1', 'Note:G(Sol); Octave:#1', 'Note:A(La); Octave:#1',
				'Note:B(Si); Octave:#1', 'Note:C(Do); Octave:#2', 'Note:D(Re); Octave:#2', 'Note:E(Mi); Octave:#2',
				'Note:F(Fa); Octave:#2', 'Note:G(Sol); Octave:#2', 'Note:A(La); Octave:#2', 'Note:B(Si); Octave:#2',
				'Note:C(Do); Octave:#3', 'Note:D(Re); Octave:#3', 'Note:E(Mi); Octave:#3','Note:F(Fa); Octave:#3','Space');

var WpTunesPath = '/wp-content/plugins/wp-tunes';

function addNote(noteNum) {
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	var selectedItem;
	var nextItem;
	var selectedPos = 0;
	for (var i=0; i<len; i++)
	{
		if(items_view.childNodes[i].getAttribute('selected') == 'true')
		{
			selectedItem = items_view.childNodes[i];
			selectedPos = i;
			nextItem = items_view.childNodes[i+1];
			break;
		}
	}
	var note_img =  new Image;
	note_img.src = WpTunesPath+'/img/editor_items/'+noteNum+'.png';
	note_img.setAttribute('note', noteNum);
	var title = noteTitles[noteNum - 1] + '.';
	if (items_view.getAttribute('wptunes_mode') == 'ADMIN-POST')
	{
		note_img.setAttribute('onDblClick', 'removeSelectedNote();');
		title = noteTitles[noteNum - 1] + '; Double click to remove this note.';
	}
	else
	{
		title = noteTitles[noteNum - 1] + '.';
	}
	note_img.setAttribute('alt', title);
	note_img.setAttribute('title', title);
	if (selectedItem != null && nextItem != null)
	{
		items_view.insertBefore(note_img, nextItem);
		setSelected(selectedPos+1);
	}
	else
	{
		items_view.appendChild(note_img);
		setSelected(len);
	}
	
	indexate();
}
function removeSelectedNote() {
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	
	for (var i = 0; i < len; i++)
	{
		var note_img = items_view.childNodes[i];
		if (note_img == null) continue;
		if (note_img.getAttribute('selected') == 'true')
		{
			items_view.removeChild(note_img);
			break;
		}
	}
	indexate();
}
function clearAllNotes()
{
	var items_view = document.getElementById("wptune_items_view");
	items_view.innerHTML = '';
}
function setSelected(noteNum) {
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	
	if (noteNum > len) return;
	
	for (var i = 0; i < len; i++)
	{
		var note_img = items_view.childNodes[i];
		if (note_img == null) continue;
		if (i == noteNum)
		{
			note_img.setAttribute('selected', 'true');
			note_img.setAttribute('class', 'selected');
		}
		else
		{
			note_img.setAttribute('selected', 'false');
			note_img.setAttribute('class', 'unselected');
		}
	}
}
function indexate() {
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	
	for (var i = 0; i < len; i++)
	{
		var note_img = items_view.childNodes[i];
		var aNote = note_img.getAttribute('note');
		if (note_img == null) continue;
		note_img.setAttribute('onClick', 'playSingleNote(\''+aNote+'\'); setSelected('+i+');');
	}
}
function loadNotes(notes) {
	var notesArr = notes.split(' ');
	var len = notesArr.length;
	for (var i=0; i < len; i++)
	{
		if (parseInt(notesArr[i])) 
		addNote(notesArr[i]);
	}
}
function getNotesString() {
	var notes = '';
	
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	for (var i = 0; i < len; i++)
	{
		if (i > 0) notes += ' ';
		notes += items_view.childNodes[i].getAttribute('note');
	}
	
	if (notes == '')
	{
		return null;
	}
	
	return notes;
}
function getNotesOffset() {
	var items_view = document.getElementById("wptune_items_view");
	var len = items_view.childNodes.length;
	
	for (var i = 0; i < len; i++)
	{
		var note_img = items_view.childNodes[i];
		if (note_img == null) continue;
		if (note_img.getAttribute('selected') == 'true')
		{
			if (i == len-1)
			{
				return 0;
			}
			return i;
		}
	}
	return 0;
}
function rootChanged() {
	var list_roots = document.getElementById("list_roots");
	noteRoot = parseInt(list_roots.selectedIndex) + 4;
}
function playBtn()
{
	var notesString = getNotesString();
	if (!allowPlaying && notesString != null)
	{
		if (notesString.split(' ').length > 1)
		{
			playNotes(notesString);
			disablePlay();
		}
		else
		{
			playSingleNote(notesString);
			setSelected(0);
		}
	}
	else
	{
		stopPlaying();
		enablePlay()
	}
}
function enablePlay()
{
	var play_btn = document.getElementById("play_btn");
	play_btn.src = WpTunesPath+'/img/play.gif';
}
function disablePlay()
{
	var play_btn = document.getElementById("play_btn");
	play_btn.src = WpTunesPath+'/img/stop.gif';
}