function neteja(nodo) {
	/*if (nodo.hasChildNodes) {
		for (var i=0; i<nodo.childNodes.length; i++) {
			alert(nodo.childNodes.length);
			nodo.removeChild(nodo.childNodes[0]);
		}
	}*/
	if(nodo.hasChildNodes) {
		while(nodo.childNodes.length>0) {
			nodo.removeChild(nodo.lastChild);
		}
	}
}

function crea_element(tag, id, classe) {
	var el = document.createElement(tag);
	if (id!='') {
		el.setAttribute('id', id);
		el.id = id;
	}
	if (classe!='') {
		el.setAttribute('class', classe);
		el.className = classe;
	}
	return el;
}

function busca_composicions() {
	var id_autor = document.getElementById('id_autor').value;
	var id_categoria = document.getElementById('id_categoria').value;
	if (id_autor==0 && id_categoria==0) {
		switch(idioma) {
			case 'val':
				alert("Cal seleccionar almenys una de les opcions");
				break;
			case 'es':
				alert("Debe seleccionar al menos una de las opciones");
				break;
			case 'en':
				alert("You must select at least one option");
				break;
			case 'fr':
				alert("Bla, bla, bla");
				break;
		}
		return;
	}
	pilla_dades(parseInt(id_autor), parseInt(id_categoria));
}

function pilla_dades(id_a, id_c) {
	var xmlHttp = createXmlHttpRequestObject();
	var query = 'id_autor='+id_a+'&id_categoria='+id_c+'&lang='+idioma;
	try {
		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState==4) {
				if (xmlHttp.status==200) {
					inserta_dades(xmlHttp.responseXML);
				}
			}
		}
		//xmlHttp.open('GET', '../scripts/php/musica_xml.php?id_autor='+id_a+'&id_categoria='+id_c+'&lang='+idioma);
		xmlHttp.open('POST', '../scripts/php/musica_xml.php');
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.send(query);
	} catch (e) {
		alert('No es pot connectar amb el servidor '+e.toString());
	}	
}

function inserta_dades(xml) {
	var eixida = xml.getElementsByTagName('resultats')[0].getAttribute('eixida');
	switch (eixida) {
		case 'autor':
			inserta_per_autor(xml);
			break;
		case 'categoria':
			inserta_per_categoria(xml);
			break;
		case 'error':
			inserta_error();
			break;
	}
}

function inserta_error() {
	var cadena_error = '';
	switch (idioma) {
		case 'val':
			cadena_error = 'Cap resultat amb eixos paràmetres';
			break;
		case 'es':
			cadena_error = 'Ningún resultado con esos parámetros';
			break;
		case 'en':
			cadena_error = 'No result with those parameters';
			break;
	}
	alert(cadena_error);
	return false;
}


function inserta_per_categoria(xml) {
	var info_musica = document.getElementById('info_musica');
	neteja(info_musica);
	var obres = xml.getElementsByTagName('composicio');
	var id_autor = 0;
	var tipus_txt = '';
	switch(idioma) {
		case 'val':
			tipus_txt = 'Tipus';
			break;
		case 'es':
			tipus_txt = 'Tipo';
			break;
	}
	for(var i=0; i<obres.length; i++) {
		var nou_autor = obres[i].getAttribute('id_autor');
		var autor = obres[i].getAttribute('autor');
		var categoria = obres[i].getAttribute('tipus');
		var any = obres[i].getAttribute('any');
		var titol = obres[i].getAttribute('titol');
		if(i==0) { //fem el h4, que solament apareixerà una vegada
			var titol_ppal = crea_element('h4', '', '');
			var span_categoria = crea_element('span', '', 'span1_h4');
			span_categoria.appendChild(document.createTextNode(tipus_txt+':'));
			var span_nom = crea_element('span', '', 'span2_h4');
			span_nom.appendChild(document.createTextNode(categoria));
			titol_ppal.appendChild(span_categoria);
			titol_ppal.appendChild(span_nom);
			info_musica.appendChild(titol_ppal);
		}
		if(nou_autor!=id_autor) {
			id_autor = nou_autor;
			var subtitol = crea_element('h5', '', '');
			/*var span_subtitol1 = crea_element('span', '', 'span1_h5');
			span_subtitol1.appendChild(document.createTextNode('Autor:'));*/
			var span_subtitol2 = crea_element('span', '', 'span2_h5');
			span_subtitol2.appendChild(document.createTextNode(autor));
			//subtitol.appendChild(span_subtitol1);
			subtitol.appendChild(span_subtitol2);
			info_musica.appendChild(subtitol);
			var taula = crea_element('table', '', 'llistat_obres');
			taula.setAttribute('border', '0');
			taula.setAttribute('cellspacing', '0');
			taula.setAttribute('cellpadding', '0');
			var tbody = crea_element('tbody', '', '');
			taula.appendChild(tbody);
			info_musica.appendChild(taula);
			var cabecera = crea_cabecera();
			tbody.appendChild(cabecera);
		}
		inserta_fila(tbody, titol, any);
	}
}

function inserta_per_autor(xml) {
	var info_musica = document.getElementById('info_musica');
	neteja(info_musica);
	var obres = xml.getElementsByTagName('composicio');
	var id_categoria = 0;
	for(var i=0; i<obres.length; i++) {
		var nova_cat = obres[i].getAttribute('id_tipus');
		var autor = obres[i].getAttribute('autor');
		var categoria = obres[i].getAttribute('tipus');
		var any = obres[i].getAttribute('any');
		var titol = obres[i].getAttribute('titol');
		if(i==0) { //fem el h4, que solament apareixerà una vegada
			var titol_ppal = crea_element('h4', '', '');
			var span_autor = crea_element('span', '', 'span1_h4');
			span_autor.appendChild(document.createTextNode('Autor:'));
			var span_nom = crea_element('span', '', 'span2_h4');
			span_nom.appendChild(document.createTextNode(autor));
			titol_ppal.appendChild(span_autor);
			titol_ppal.appendChild(span_nom);
			info_musica.appendChild(titol_ppal);
		}
		if(nova_cat!=id_categoria) {
			id_categoria = nova_cat;
			var subtitol = crea_element('h5', '', '');
			/*var span_subtitol1 = crea_element('span', '', 'span1_h5');
			span_subtitol1.appendChild(document.createTextNode('Categoria:'));*/
			var span_subtitol2 = crea_element('span', '', 'span2_h5');
			span_subtitol2.appendChild(document.createTextNode(categoria));
			//subtitol.appendChild(span_subtitol1);
			subtitol.appendChild(span_subtitol2);
			info_musica.appendChild(subtitol);
			var taula = crea_element('table', '', 'llistat_obres');
			taula.setAttribute('border', '0');
			taula.setAttribute('cellspacing', '0');
			taula.setAttribute('cellpadding', '0');
			var tbody = crea_element('tbody', '', '');
			taula.appendChild(tbody);
			info_musica.appendChild(taula);
			var cabecera = crea_cabecera();
			tbody.appendChild(cabecera);
		}
		inserta_fila(tbody, titol, any);
	}
}

function inserta_fila(tcos, title, year) {
	var fila = crea_element('tr', '', '');
	var celda_titol = crea_element('td', '', 'titol_composicio');
	celda_titol.appendChild(document.createTextNode(title));
	fila.appendChild(celda_titol);
	var celda_any = crea_element('td', '', 'any_composicio');
	celda_any.appendChild(document.createTextNode(year));
	fila.appendChild(celda_any);
	tcos.appendChild(fila);
}

function crea_cabecera() {
	var fila = crea_element('tr', '', '');
	var titol;
	var any;
	switch (idioma) {
		case 'val':
			titol = 'Títol';
			any = 'Any';
			break;
		case 'es':
			titol = 'Título';
			any = 'Año';
			break;
		case 'en':
			titol = 'Title';
			any = 'Year';
			break;
		case 'fr':
			titol = 'Títol';
			any = 'Any';
			break;
	}
	var titular_titol = crea_element('td', '', 'titular_composicions');
	titular_titol.appendChild(document.createTextNode(titol));
	var titular_any = crea_element('td', '', 'titular_composicions');
	titular_any.appendChild(document.createTextNode(any));
	fila.appendChild(titular_titol);
	fila.appendChild(titular_any);
	return fila;
}