var GSM_origin_liste = false; var GSM_liste = false; var GSM_liste_CDs = false; //Albums, tout type var GSM_lastSort = -1; var GSM_delay = null; var nbParPage = 50; //On charge la liste des porte-clés function GSM_loadList() { GSM_origin_liste = false; GSM_liste = false; GSM_liste_CDs = false; GSM_lastSort = -1; $('#nbpc').html('Chargement en cours ...'); $.ajax({ url: "ajax.php", data: {d: "action", a: "GSM", p: "liste"}, }).done(GSM_parseList).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); } function GSM_loadSelectedList() { //TODO: ne charger que les listes dont l'état est false GSM_loadList(); } GSM_loadList(); //Une fois la liste reçue, on la parse function GSM_parseList(data) { $('#nbpc').html(data.documentElement.getAttribute("nombre")); GSM_origin_liste = new Array(); var liste = data.documentElement.getElementsByTagName("chanson"); for (var elt in liste) { if (elt.isInt()) { var chan = new Chanson(liste[elt]); GSM_origin_liste[chan.id] = chan; } } GSM_liste_CDs = new Array(); liste = data.documentElement.getElementsByTagName("album"); for (var elt in liste) { if (elt.isInt()) { var alb = new Album(liste[elt]); GSM_liste_CDs[alb.id] = alb; } } } function GSM_add() { window.scrollTo(0,0); $('#contenu').html("

Ajout d'un album à la base de données

"); GSM_addAlbum(); } function GSM_edit() { window.scrollTo(0,0); $('#contenu').html("

Liste des albums

"); GSM_viewliste(0, 0, 0); } function GSM_listAlbums() { window.scrollTo(0,0); $('#contenu').html("

Liste des albums

"); GSM_viewalbums(false); } function GSM_listTitres(types) { window.scrollTo(0,0); $('#contenu').html("

Liste des titres

"); var confirmation = document.createElement("h2"); confirmation.style.color = "teal"; confirmation.id = "confirm"; $('#contenu').append(confirmation); GSM_liste = false; GSM_viewliste(types, 0, 0); } function GSM_rechTitres() { window.scrollTo(0,0); $('#contenu').html("

Recherche d'un élément

"); GSM_formRech("", "", "", [1,2,3,4,5,6,7,8]); } function GSM_formRech(titleC, artiste, album, types) { var formulaire = document.createElement("form"); formulaire.id = "rechTitles"; formulaire.onsubmit = function() { tps = []; if ($("#type1").prop("checked")) tps.push(1); if ($("#type2").prop("checked")) tps.push(2); if ($("#type3").prop("checked")) tps.push(3); rechTitles($("#titreC").val(), $("#artiste").val(), $("#album").val(), tps); return false; } var cntr = document.createElement("div"); var lbl = document.createElement("label"); lbl.htmlFor = "titreC"; lbl.innerHTML = "Titre :"; cntr.appendChild(lbl); var inpt = document.createElement("input"); inpt.type = "text"; inpt.name = "titre"; inpt.value = titleC; inpt.id = "titreC"; cntr.appendChild(inpt); cntr.appendChild(document.createElement("br")); var lbl = document.createElement("label"); lbl.htmlFor = "artiste"; lbl.innerHTML = "Artiste :"; cntr.appendChild(lbl); var inpt = document.createElement("input"); inpt.type = "text"; inpt.name = "artiste"; inpt.value = artiste; inpt.id = "artiste"; cntr.appendChild(inpt); cntr.appendChild(document.createElement("br")); var lbl = document.createElement("label"); lbl.htmlFor = "album"; lbl.innerHTML = "Album :"; cntr.appendChild(lbl); var inpt = document.createElement("input"); inpt.type = "text"; inpt.name = "album"; inpt.value = album; inpt.id = "album"; cntr.appendChild(inpt); cntr.appendChild(document.createElement("br")); formulaire.appendChild(cntr); var inpt = document.createElement("input"); inpt.type = "checkbox"; inpt.name = "type1"; inpt.id = "type1"; inpt.value = "1"; inpt.checked = types.in_array(1); formulaire.appendChild(inpt); var lbl = document.createElement("label"); lbl.htmlFor = "type1"; lbl.innerHTML = "Albums d'année"; formulaire.appendChild(lbl); formulaire.appendChild(document.createElement("br")); var inpt = document.createElement("input"); inpt.type = "checkbox"; inpt.name = "type2"; inpt.id = "type2"; inpt.value = "1"; inpt.checked = types.in_array(2); formulaire.appendChild(inpt); var lbl = document.createElement("label"); lbl.htmlFor = "type2"; lbl.innerHTML = "Compilations"; formulaire.appendChild(lbl); formulaire.appendChild(document.createElement("br")); var inpt = document.createElement("input"); inpt.type = "checkbox"; inpt.name = "type3"; inpt.id = "type3"; inpt.value = "1"; inpt.checked = types.in_array(3); formulaire.appendChild(inpt); var lbl = document.createElement("label"); lbl.htmlFor = "type3"; lbl.innerHTML = "Musique classique"; formulaire.appendChild(lbl); var cntr = document.createElement("div"); formulaire.appendChild(document.createElement("br")); formulaire.appendChild(document.createElement("br")); var inpt = document.createElement("input"); inpt.type = "submit"; inpt.value = "Rechercher"; cntr.appendChild(inpt); formulaire.appendChild(cntr); $('#contenu').append(formulaire); } function GSM_addAlbum() { var formulaire = document.createElement("form"); formulaire.id = "addAlbum"; formulaire.className = "form-horizontal"; formulaire.onsubmit = function() { newAlbum(); return false; } formulaire.innerHTML = '
'; $('#contenu').append(formulaire); // TODO: check GSM_liste_CDs arrived GSM_addAlbum_chColor(); } function GSM_addAlbum_chColor() { var type = $('#albumtype').val(); $("#copyfrom").html(''); for (var i in GSM_liste_CDs) { if (i.isInt() && GSM_liste_CDs[i].type == type) { var opt = document.createElement("option"); opt.value = i; opt.innerHTML = GSM_liste_CDs[i].titre; $("#copyfrom").append(opt); } } if ($("#copyfrom").html() != "") $("#copyfrom").change(function(event) { if (this.value > 0) GSM_addAlbum_loadColor(this, type); }); } function GSM_addAlbum_loadColor(elt, type) { $.ajax({ url: 'ajax.php', data: { d: "action", a: "GSM", p: "color", type: type, id: elt.value }, }).done(function(data) { $('#colorAlbum').val(data.documentElement.getElementsByTagName("color")[0].firstChild.textContent); $("#testColor").css("background-color", $('#colorAlbum').val()); }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); } function newAlbum() { var type = $('#albumtype').val(); var nom = $('#nomAlbum').val(); if (nom) { //On ajoute l'album $.ajax({ url: 'ajax.php?d=action&a=GSM&p=add', type: "POST", data: { type: type, title: escapeHtml(nom), color: $('#colorAlbum').val() }, }).done(function(data) { if (data.documentElement.getAttribute("statut") != 1) { firstLoad(); alert("Vous avez été déconnecté. L'album' n'a pas été ajouté."); } else { if (data.documentElement.getElementsByTagName("id")[0]) { GSM_liste_CDs = false; $('#contenu').empty(); titre = document.createElement("h2"); titre.style.color = "#FF8800"; titre.innerHTML = 'Chargement en cours ... Veuilez patienter'; $('#contenu').append(titre); //On recharge la liste d'album GSM_loadSelectedList(); //On passe à l'écran de modification du nouvel album GSM_viewalbum(type, data.documentElement.getElementsByTagName("id")[0].textContent, 0, nom); } else alert("L'ajout de l'album ne s'est pas passé correctement, vérifiez que cet album n'existe pas déjà."); } }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); } else alert("Vous n'avez pas précisé de nom pour ce nouvel album."); } function GSM_addForm(type, idAlbum, modif, page) { //Si le formulaire existe déjà, on ne fait que remplacer son contenu var formulaire; if ($('#addTitle').length) { $('#addTitle').empty(); formulaire = $('#addTitle')[0]; } else { formulaire = document.createElement("form"); formulaire.className = "form-horizontal container-fluid"; formulaire.id = "addTitle"; $('#contenu').append(formulaire); } formulaire.className = "form-horizontal"; formulaire.onsubmit = function() { checkAndAdd(type, idAlbum, modif, page); return false; } var th = document.createElement("h3"); if (modif) th.innerHTML = "Modification d'un titre"; else th.innerHTML = "Ajout d'un titre à l'album"; formulaire.innerHTML = '
'; if(modif) { formulaire.innerHTML += ''; inp_del = document.createElement("button"); inp_del.type = "button"; inp_del.className = "btn btn-danger"; inp_del.innerHTML = ' Supprimer'; inp_del.style.marginLeft = "15px"; inp_del.onclick = function() { GSM_del(type, idAlbum, modif, page); }; formulaire.appendChild(inp_del); $("#titrechan").val(GSM_liste[modif-1].titre); $("#auteur").val(GSM_liste[modif-1].artiste); $('#titrechan').focus(); } else formulaire.innerHTML += ''; /* new Ajax.Autocompleter( "auteur", "auteur_propositions", "applications/GSM/auteurs.php", { paramName: 'auteur', minChars: 1 });*/ } function GSM_checkChange(e) { if (this.value == "add") { if (this.id == "discAuteur") id_name = "new_auteur"; else if (this.id == "discDece") id_name = "new_decenie"; else if (this.id == "discAnnee") id_name = "new_annee"; document.getElementById(id_name).style.display = "inline"; if (document.getElementById(id_name).value == "") document.getElementById(id_name).value = "Nom du nouvel l'album"; document.getElementById(id_name).focus(); document.getElementById(id_name).select(); } else if (this.id == "discAuteur") document.getElementById("new_auteur").style.display = "none"; else if (this.id == "discDece") document.getElementById("new_decenie").style.display = "none"; else if (this.id == "discAnnee") document.getElementById("new_annee").style.display = "none"; } function GSM_del(type, idAlbum, modif, page) { $('#titrechan').prop("disabled", true); $('#auteur').prop("disabled", true); var identifiant = GSM_liste[modif-1].id; $.ajax({ url: 'ajax.php?d=action&a=GSM&p=del', method: 'post', parameters: { id: identifiant, alb: idAlbum } }).done(function(data) { if (data.documentElement.getAttribute("statut") != 1) { firstLoad(); alert("Vous avez été déconnecté. La chanson n'a pas été enregistrée"); } else { delete GSM_origin_liste[identifiant]; setTimeout('$("#confirm").html("Chanson supprimée avec succès !");', 234); setTimeout("$('#confirm').html('');", 3500); $('#nbpc').html(data.documentElement.getAttribute("nombre")); if (type) GSM_viewalbum(type, idAlbum, page); else GSM_viewliste(type, 0, page); if (modif) window.scrollTo(0,0); } }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); //On réinitialise les variables de liste pour aller rechercher les listes GSM_liste = false; GSM_pagination = false; $('#contenu').html("

Veuillez patienter suppression de la chanson en cours ...

"); } function checkAndAdd(type, idAlbum, modif, page) { var modifURI = ""; if(modif) modifURI = "&id=" + GSM_liste[modif-1].id; $('#titrechan').parent().parent().removeClass("has-error"); $('#auteur').parent().parent().removeClass("has-error"); if ($('#titrechan').val() == "") { $('#titrechan').parent().parent().addClass("has-error"); alert('Vous n\'avez pas indiqué le titre de la chanson !'); } else if ($('#auteur').val() == "") { $('#auteur').parent().parent().addClass("has-error"); alert('Vous n\'avez pas indiqué l\'auteur de la chanson !'); } else { $('#titrechan').prop("disabled", true); $('#auteur').prop("disabled", true); $.ajax({ url: 'ajax.php?d=action&a=GSM' + modifURI, type: 'POST', data: { titre: escapeHtml($('#titrechan').val()), auteur: escapeHtml($('#auteur').val()), type: type, alb: idAlbum } }).done(function(data) { if (data.documentElement.getAttribute("statut") != 1) { firstLoad(); alert("Vous avez été déconnecté. La chanson n'a pas été enregistrée"); } else { if (data.documentElement.getElementsByTagName("id").length == 0) { setTimeout('$("#confirm").html("Une erreur s\'est produite lors de l\'ajout de la chanson, veuillez recommencer.");', 234); setTimeout("$('#confirm').empty();", 3500); } else if(modif) { setTimeout('$("#confirm").html("Chanson modifiée avec succès !");', 234); setTimeout("$('#confirm').empty();", 3500); GSM_liste[modif-1].titre = $('#titrechan').val(); GSM_liste[modif-1].artiste = $('#auteur').val(); } else { nc = new Chanson(); nc.id = data.documentElement.getElementsByTagName("id")[0].textContent; nc.titre = $('#titrechan').val(); nc.artiste = $('#auteur').val(); nc.albums.push(idAlbum); GSM_origin_liste[nc.id] = nc; GSM_liste.push(nc); $('#titrechan').val(""); $('#auteur').val(""); $('#titrechan').prop("disabled", false); $('#auteur').prop("disabled", false); $('#nbpc').html(data.documentElement.getAttribute("nombre")); setTimeout('$("#confirm").html("Chanson ajoutée avec succès !");', 234); setTimeout("$('#confirm').empty();", 3500); } if (idAlbum) GSM_viewalbum(type, idAlbum, page); else //TODO à tester ça marche pas GSM_viewliste(type, 0, page); if (modif) window.scrollTo(0,0); else $('#titrechan').focus(); } }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); } } function GSM_viewalbums() { if (GSM_origin_liste == false) setTimeout(GSM_viewalbums, 200); else { var tableau = document.createElement("div"); tableau.className = "table cols2 stats"; tableau.id = "statsA"; var tableau_head = document.createElement("div"); tableau_head.className = "head"; var head_th = document.createElement("span"); head_th.innerHTML = "CD années"; tableau_head.appendChild(head_th); var head_th = document.createElement("span"); head_th.innerHTML = "Nombre"; tableau_head.appendChild(head_th); tableau.appendChild(tableau_head); var tableau_bodyA = document.createElement("div"); tableau_bodyA.className = "body"; tableau_bodyA.innerHTML = '
Chargement de la liste ... Veuillez patienter
'; tableau.appendChild(tableau_bodyA); $('#contenu').append(tableau); var tableau = document.createElement("div"); tableau.className = "table cols2 stats"; tableau.id = "statsD"; var tableau_head = document.createElement("div"); tableau_head.className = "head"; var head_th = document.createElement("span"); head_th.innerHTML = "CD décénies"; tableau_head.appendChild(head_th); var head_th = document.createElement("span"); head_th.innerHTML = "Nombre"; tableau_head.appendChild(head_th); tableau.appendChild(tableau_head); var tableau_bodyD = document.createElement("div"); tableau_bodyD.className = "body"; tableau_bodyD.innerHTML = '
Chargement de la liste ... Veuillez patienter
'; tableau.appendChild(tableau_bodyD); $('#contenu').append(tableau); var tableau = document.createElement("div"); tableau.className = "table cols2 stats"; tableau.id = "statsC"; var tableau_head = document.createElement("div"); tableau_head.className = "head"; var head_th = document.createElement("span"); head_th.innerHTML = "CD classiques"; tableau_head.appendChild(head_th); var head_th = document.createElement("span"); head_th.innerHTML = "Nombre"; tableau_head.appendChild(head_th); tableau.appendChild(tableau_head); var tableau_bodyC = document.createElement("div"); tableau_bodyC.className = "body"; tableau_bodyC.innerHTML = '
Chargement de la liste ... Veuillez patienter
'; tableau.appendChild(tableau_bodyC); $('#contenu').append(tableau); $.ajax({ url: 'ajax.php', data: {d: "action", a: "GSM", p: "stats"}, }).done(function(data) { var annees = data.documentElement.getElementsByTagName("annee"); var chanteurs = data.documentElement.getElementsByTagName("interprete"); var decenies = data.documentElement.getElementsByTagName("decenie"); tableau_bodyA.innerHTML = ""; for (var i = 0; i < annees.length; i++) { if (annees[i].getAttribute("id") != "") { var lign = document.createElement("div"); lign.className = "elt" + (i%2); GSM_addStatLign(lign, [1], annees[i].getAttribute("id")); var col = document.createElement("span"); col.innerHTML = GSM_liste_CDs[annees[i].getAttribute("id")].titre; lign.appendChild(col); var col = document.createElement("span"); col.innerHTML = annees[i].getAttribute("nbTitles"); lign.appendChild(col); tableau_bodyA.appendChild(lign); } } if (annees.length == 0) tableau_bodyA.innerHTML = '
Aucun CD
'; else lign.className += " foot"; tableau_bodyC.innerHTML = ""; for (var i = 0; i < chanteurs.length; i++) { if (chanteurs[i].getAttribute("id") != "") { var lign = document.createElement("div"); lign.className = "elt" + (i%2); GSM_addStatLign(lign, [2], chanteurs[i].getAttribute("id")); var col = document.createElement("span"); col.innerHTML = GSM_liste_CDs[chanteurs[i].getAttribute("id")].titre; lign.appendChild(col); var col = document.createElement("span"); col.innerHTML = chanteurs[i].getAttribute("nbTitles"); lign.appendChild(col); tableau_bodyC.appendChild(lign); } } if (chanteurs.length == 0) tableau_bodyC.innerHTML = '
Aucun CD
'; else lign.className += " foot"; tableau_bodyD.innerHTML = ""; for (var i = 0; i < decenies.length; i++) { if (decenies[i].getAttribute("id") != "") { var lign = document.createElement("div"); lign.className = "elt" + (i%2); GSM_addStatLign(lign, [3], decenies[i].getAttribute("id")); var col = document.createElement("span"); col.innerHTML = GSM_liste_CDs[decenies[i].getAttribute("id")].titre; lign.appendChild(col); var col = document.createElement("span"); col.innerHTML = decenies[i].getAttribute("nbTitles"); lign.appendChild(col); tableau_bodyD.appendChild(lign); } } if (decenies.length == 0) tableau_bodyD.innerHTML = '
Aucun CD
'; else lign.className += " foot"; }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); } } function GSM_addStatLign(lign, type, id) { lign.onclick = function() { window.scrollTo(0,0); GSM_viewalbum(type, id, 0) }; } function GSM_viewalbum(type, id, page, title) { window.scrollTo(0,75); $('#contenu').html("

"); var titre = document.createElement("h2"); if (typeof(title) == 'undefined') titre.innerHTML = "Liste des titres de " + GSM_liste_CDs[id].titre; else titre.innerHTML = "Liste des titres de " + title; $('#contenu').append(titre); GSM_delay_viewalbum(type, id, page); } function GSM_build_liste(id, types) { GSM_liste = new Array(); for (var i in GSM_origin_liste) { if (i.isInt() && typeof(GSM_origin_liste[i]) != 'undefined') { if (GSM_origin_liste[i].inAlbum(id, types)) GSM_liste.push(GSM_origin_liste[i]); } } } function rechTitles(title, artiste, album, types) { if (GSM_origin_liste == false) GSM_delay = setTimeout(rechTitles, titre, artiste, album, types); else { window.scrollTo(0,0); $('#contenu').innerHTML = ""; titre = document.createElement("h2"); titre.className = "vp"; titre.innerHTML = "Recherche en cours ...Veuillez patienter"; $('#contenu').append(titre); GSM_liste = new Array(); for (var i in GSM_origin_liste) { if (i.isInt() && typeof(GSM_origin_liste[i]) != 'undefined') { if (GSM_origin_liste[i].search(title, artiste, album, types)) GSM_liste.push(GSM_origin_liste[i]); } } $('#contenu').html(""); titre = document.createElement("h2"); titre.innerHTML = "Recherche d'un élément"; $('#contenu').append(titre); if (GSM_liste == false) { titre2 = document.createElement("h3"); titre2.innerHTML = "Aucun élément n'a été trouvé avec ces critères"; $('#contenu').append(titre2); GSM_formRech(title, artiste, album, types); } else GSM_viewliste(0, 0, 0); } } function GSM_delay_viewalbum(type, id, page) { if (GSM_origin_liste == false) GSM_delay = setTimeout(GSM_delay_viewalbum, 200, type, id, page); else { GSM_build_liste(id); if (GSM_liste == false) GSM_liste[0] = 2; GSM_lastSort = -1; GSM_viewliste(type, id, page); GSM_addForm(type, id, false, 0); } } function GSM_viewliste(type, idAlbum, page) { var pagination = document.createElement("div"); pagination.className = "pagination top"; pagination.id = "pagination1"; $('#contenu').append(pagination); var tableau = document.createElement("div"); tableau.className = "table cols3"; tableau.id = "list"; var tableau_head = document.createElement("div"); tableau_head.className = "head"; var head_th = document.createElement("span"); head_th.innerHTML = "Titre"; head_th.onclick = function() { GSM_showliste("titre", 0, type, idAlbum); } tableau_head.appendChild(head_th); var head_th = document.createElement("span"); head_th.innerHTML = "Chanteur"; head_th.onclick = function() { GSM_showliste("artiste", 0, type, idAlbum); } tableau_head.appendChild(head_th); var head_th = document.createElement("span"); head_th.innerHTML = "CDs"; head_th.style.cursor = "auto"; tableau_head.appendChild(head_th); tableau.appendChild(tableau_head); var tableau_body = document.createElement("div"); tableau_body.className = "body"; tableau_body.id = "bodyList"; tableau_body.innerHTML = '
Chargement de la liste en cours ... Veuillez patienter
'; tableau.appendChild(tableau_body); $('#contenu').append(tableau); var pagination = document.createElement("div"); pagination.className = "pagination bottom"; pagination.id = "pagination2"; $('#contenu').append(pagination); GSM_showliste(-1, page, type, idAlbum); } function GSM_showliste(tri, page, type, idAlbum) { if (GSM_origin_liste == false) setTimeout(GSM_showliste, 200, tri, page, type, idAlbum); else { if (GSM_liste == false) GSM_build_liste(undefined, type); //On tente un tri if (GSM_lastSort != tri && tri != -1) { $('#bodyList').html('
Tri de la liste en cours ...
'); GSM_liste = GSM_liste.sort(function(a,b){return a[tri].localeCompare(b[tri]);}); GSM_lastSort = tri; } nbPages = Math.ceil(GSM_liste.length / nbParPage); $('#pagination1').empty(); $('#pagination2').empty(); if (nbPages < 3) { var lnkP = document.createElement("a"); lnkP.href = "javascript:GSM_printliste('" + GSM_lastSort + "', " + type + ", " + idAlbum + ");"; lnkP.innerHTML = "Imprimer la pochette"; $('#pagination1').append(lnkP); var lnkP = document.createElement("a"); lnkP.href = "javascript:GSM_printliste('" + GSM_lastSort + "', " + type + ", " + idAlbum + ");"; lnkP.innerHTML = "Imprimer la pochette"; $('#pagination2').append(lnkP); } for (var i = 0; i < 4 && i < nbPages; i++) GSM_addLinkPagination(i, type, idAlbum); if (page > 5 && i < nbPages) { $('#pagination1').append("..."); $('#pagination2').append("..."); } for (var i = (page < 6?4:page - 2); (i < page + 3 && i < nbPages); i++) GSM_addLinkPagination(i, type, idAlbum); if (page <= 5 && i < nbPages) { $('#pagination1').append("..."); $('#pagination2').append("..."); for (var i = Math.ceil(nbPages/2) - 2; i < nbPages/2 + 2; i++) GSM_addLinkPagination(i, type, idAlbum); } if (page + 3 < nbPages - 4) { $('#pagination1').append("..."); $('#pagination2').append("..."); } for (var i = (page + 3 >= nbPages - 4?page + 3:nbPages - 4); (i < nbPages); i++) GSM_addLinkPagination(i, type, idAlbum); start = page * nbParPage; $('#bodyList').empty(); if (GSM_liste[0] != 2) { for (var i = 0; i < nbParPage && i + start < GSM_liste.length; i++) { var lign = document.createElement("div"); lign.className = "elt" + (i%2); GSM_addLinkCD(lign, i + start, idAlbum, type, page); var col = document.createElement("span"); col.innerHTML = GSM_liste[i + start].titre; lign.appendChild(col); var col = document.createElement("span"); col.innerHTML = GSM_liste[i + start].artiste; lign.appendChild(col); var col = document.createElement("span"); for (var alb in GSM_liste[i + start].albums) { if (alb.isInt()) col.innerHTML += '" + GSM_liste_CDs[GSM_liste[i + start].albums[alb]].titre + "
"; } lign.appendChild(col); $('#bodyList').append(lign); } } else { var lign = document.createElement("div"); lign.className = "elt0"; lign.innerHTML = "Il n'y a aucun titre enregistré dans cet album."; $('#bodyList').append(lign); } lign.className += " foot"; } } function GSM_addLinkPagination(page, type, idAlbum) { var lnkP = document.createElement("a"); lnkP.href = "javascript:GSM_showliste('" + GSM_lastSort + "', " + page + ", " + type + ", " + idAlbum + ");"; lnkP.innerHTML = page+1; $('#pagination1').append(lnkP); var lnkP = document.createElement("a"); lnkP.href = "javascript:GSM_showliste('" + GSM_lastSort + "', " + page + ", " + type + ", " + idAlbum + ");"; lnkP.innerHTML = page+1; $('#pagination2').append(lnkP); } function GSM_printliste(tri, type, idAlbum) { if (GSM_origin_liste == false) setTimeout(GSM_printliste, 200, tri, type, idAlbum); else { $('#contenu').empty(); var patt1 = ""; if (GSM_liste_CDs[idAlbum].titre.toLowerCase().indexOf("cd") >= 0) patt1 = GSM_liste_CDs[idAlbum].titre.match(/cd ?([0-9]+)/i).toString(); var trueTitleL1 = GSM_liste_CDs[idAlbum].titre; trueTitleL1 = trueTitleL1.substr(0, trueTitleL1.length - patt1.indexOf(',')); if (type == 1) trueTitleL1 = "Année " + trueTitleL1; var trueTitleL2; if (patt1) trueTitleL2 = "CD " + patt1.substr(patt1.indexOf(',')+1); else trueTitleL2 = ""; var trueTitle = trueTitleL1 + " – " + trueTitleL2; var front = document.createElement("div"); front.className = "front"; var titleP = document.createElement("div"); titleP.className = "title"; titleP.innerHTML = trueTitleL1; front.appendChild(titleP); var cd = document.createElement("div"); cd.className = "cd"; cd.innerHTML = trueTitleL2; if (trueTitleL2) cd.style.marginTop = "70px"; front.appendChild(cd); $('#contenu').append(front); $.ajax({ url: 'ajax.php', data: {d: "action", a: "GSM", p: "color", type: type, id: idAlbum} }).done(function(data) { var colors = data.documentElement.getElementsByTagName("color"); if (colors.length == 2) { titleP.style.color = colors[1].firstChild.textContent; cd.style.color = colors[0].firstChild.textContent; } else if (colors.length == 1) { titleP.style.color = colors[0].firstChild.textContent; cd.style.color = colors[0].firstChild.textContent; } }).fail(function(jqXHR, textStatus) { printState(7, textStatus); }); var sp = document.createElement("div"); sp.className = "sp"; $('#contenu').append(sp); var back = document.createElement("div"); back.className = "back"; var backL = document.createElement("div"); backL.className = "left"; var title = document.createElement("div"); title.className = "title"; title.innerHTML = trueTitleL1 + " " + trueTitleL2; backL.appendChild(title); back.appendChild(backL); var backR = document.createElement("div"); backR.className = "right"; var title = document.createElement("div"); title.className = "title"; title.innerHTML = trueTitleL1 + " " + trueTitleL2; backR.appendChild(title); back.appendChild(backR); var backC = document.createElement("div"); backC.className = "center"; var title = document.createElement("div"); title.className = "title"; title.innerHTML = trueTitleL1 + " – " + trueTitleL2; backC.appendChild(title); var listeC = document.createElement("ol"); backC.appendChild(listeC); back.appendChild(backC); $('#contenu').append(back); if (GSM_liste == false) { GSM_liste = new Array(); for (var i in GSM_origin_liste) { if (i.isInt()) GSM_liste.push(GSM_origin_liste[i]); } } //On tente un tri if (GSM_lastSort != tri) { GSM_liste = GSM_liste.sort(function(a,b){return a[tri].localeCompare(b[tri]);}); GSM_lastSort = tri; } if (GSM_liste[0] != 2) { for (var i = 0; i < GSM_liste.length; i++) { var lign = document.createElement("li"); lign.className = "elt" + (i%2); var col = document.createElement("span"); col.className = "author"; col.innerHTML = GSM_liste[i + start].artiste; lign.appendChild(col); lign.innerHTML += GSM_liste[i + start].titre GSM_addLinkOrder(lign, i + start, tri, type, idAlbum); listeC.appendChild(lign); } //On ajuste automatiquement la taille de la police listeC.style.fontSize = Math.min(Math.floor(4000/(GSM_liste.length*1.35))/10, 17) + "px"; listeC.style.marginTop = ((410 - listeC.clientHeight) / 2) + "px"; } else { var lign = document.createElement("div"); lign.className = "elt0"; lign.innerHTML = "Il n'y a aucun titre enregistré dans cet album."; $('#bodyList').append(lign); } lign.className += " foot"; } } function GSM_addLinkCD(elt, idTitle, idAlbum, type, page) { elt.onclick = function() { GSM_addForm(type, idAlbum, idTitle+1, page); } } function GSM_addLinkOrder(elt, id, tri, type, idAlbum) { elt.onclick = function() { GSM_chOrder(id, tri, type, idAlbum); } } function GSM_chOrder(id, tri, type, idAlbum) { var num = prompt("Quel est le numéro de cette chanson : ", id+1); if (num > 0 && num <= GSM_liste.length) { if (num != id) { var tmp = GSM_liste[num-1]; GSM_liste[num-1] = GSM_liste[id]; GSM_liste[id] = tmp; GSM_printliste(tri, type, idAlbum); } } else alert("Ce nombre n'est pas valide !\nLe numéro de la chanson doit être compris entre 1 et " + GSM_liste.length); } function GSM_apropos() { aproposApp("GSM", "contenu"); }