Rev 38 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
* Application for Facebox (for jQuery)
* Adaptation pour le Squelette SPIP
* Ce fichier peut également contenir toutes les scripts custom
* (06/01/2008)
* @requires jQuery v1.2 or later
*/
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox({
loading_image : 'squelettes/images/loading.gif',
close_image : 'squelettes/images/closelabel.gif'
});
});
function changerAccordeonOuOnglets(ongletId) {
i = 0 ;
max = $(".lien_onglet").length ;
if(consultation) {
if(ongletId == ongletIdEnCours && ferme == false) {
cacherTousLesOnglets();
ferme = true;
return;
}
$("#lien_onglet_0").parent().nextAll().each(function () {
$(this).hide();
});
$("#lien_onglet_"+ongletId).parent().nextAll().each(function () {
$(this).show();
});
$("#lien_onglet_"+(ongletId+1)).parent().nextAll().each(function () {
$(this).hide();
});
for(i = 0 ; i <= max - 1 ; i++) {
$("#lien_onglet_"+i).parent().show();
$("#lien_onglet_"+i).removeClass("item_actif");
}
ferme = false;
ongletIdEnCours = ongletId;
$("#lien_onglet_"+ongletId).addClass("item_actif");
$("#fin_onglet").parent().nextAll().each(function () {
$(this).show();
});
}
else {
$("#lien_onglet_0").parent().parent().nextAll().each(function () {
$(this).hide();
});
$("#lien_onglet_"+ongletId).parent().parent().nextAll().each(function () {
$(this).show();
});
$("#lien_onglet_"+(ongletId+1)).parent().parent().nextAll().each(function () {
$(this).hide();
});
for(i = 0 ; i <= max - 1 ; i++) {
$("#onglet_"+i).removeClass("onglet_actif");
}
$("#onglet_"+ongletId).addClass("onglet_actif");
$("#fin_onglet").parent().parent().nextAll().each(function () {
$(this).show();
});
}
}
function cacherTousLesOnglets() {
i = 0;
max = $(".lien_onglet").length;
$("#lien_onglet_0").parent().nextAll().each(function () {
$(this).hide();
});
for(i = 0 ; i <= max - 1 ; i++) {
$("#lien_onglet_"+i).parent().show();
$("#lien_onglet_"+i).removeClass("item_actif")
}
$("#fin_onglet").parent().nextAll().each(function () {
$(this).show();
});
}
function changerOngletsConsultation(idOngletConsulte) {
$("#consultation_fiche").hide();
$("#lien_forum_general").hide();
$("#zone_commentaires").hide();
$("#lien_demo_general").hide();
$("#lien_telechargement_general").hide();
$("#lien_forge_general").hide();
$("#onglet_lien_ici").removeClass("onglet_actif");
$("#onglet_lien_forum").removeClass("onglet_actif");
$("#onglet_lien_demo").removeClass("onglet_actif");
$("#onglet_lien_forge").removeClass("onglet_actif");
$("#"+idOngletConsulte).addClass("onglet_actif");
if(idOngletConsulte == "onglet_lien_ici") {
$("#consultation_fiche").show();
}
if(idOngletConsulte == "onglet_lien_forum") {
$("#lien_forum_general").show(); $("#zone_commentaires").show();
}
if(idOngletConsulte == "onglet_lien_demo") {
$("#lien_demo_general").show();
}
if(idOngletConsulte == "onglet_lien_forge") {
$("#lien_telechargement_general").show();
$("#lien_forge_general").show();
}
}
function initialiserLiens() {
lien_forge = $("#bf_lien_forge");
lien_demo = $("#bf_lien_demo");
lien_telechargement = $("#bf_lien_telechargement");
if(lien_forge.attr("value").indexOf("http://") == -1) {
lien_forge.attr("value","http://"+lien_forge.attr("value"));
}
if(lien_demo.attr("value").indexOf("http://") == -1) {
lien_demo.attr("value","http://"+lien_demo.attr("value"));
}
if(lien_telechargement.attr("value").indexOf("http://") == -1) {
lien_telechargement.attr("value","http://"+lien_telechargement.attr("value"));
}
}
function ajouterAccordeonOuOnglets() {
onglets = $(".lien_onglet");
ongletIdEnCours = 0;
consultation = false;
ferme = true;
fiche_consultation = $(".BAZ_fiche_titre_application");
bouton_valider = $("input[name=\"valider\"]");
if(fiche_consultation.length != 0 || bouton_valider.html() == null) {
consultation = true;
}
else {
htmlOnglets = '<div id="selecteur_onglets" class="onglets"> <ul id="liste_onglets">';
initialiserLiens();
}
for(i = 0 ; i < onglets.length; i++)
{
lienEnCours = onglets[i];
lienEnCours.setAttribute("id","lien_onglet_"+(i));
if(i != onglets.length - 1) {
$("#lien_onglet_"+i).parent().addClass("fond_accordeon");
}
if(i == 0) {
//$("#lien_onglet_"+i).parent().before("<div class=\"BAZ_description BAZ_description_application fond_accordeon_limite fond_accordeon_haut\"></div>");
$("#lien_onglet_"+i).parent().addClass("fond_accordeon fond_accordeon_haut");
}
if(i == onglets.length - 2) {
//$("#fin_onglet").parent().after("<div class=\"BAZ_description BAZ_description_application fond_accordeon_limite fond_accordeon_bas\"></div>");
$("#lien_onglet_"+i).parent().addClass("fond_accordeon fond_accordeon_bas");
}
if(!consultation) {
htmlOnglets += '<li><a id="onglet_'+i+'" href="javascript:changerAccordeonOuOnglets('+i+','+consultation+');">'+$('#lien_onglet_'+(i)).html()+'</a></li>';
}
}
if(!consultation) {
htmlOnglets += '</ul></div><hr style="clear: both; visibility: hidden">';
$("#formulaire").before(htmlOnglets);
$(".lien_onglet").parent().hide();
$("input[type=\"submit\"][name=\"valider\"]").bind("click",function(event)
{
event.preventDefault();
validerFormulaire(true);
});
bouton_valider = $("input[type=\"submit\"][name=\"valider\"]");
if(bouton_valider.length != 0) {
bouton_valider[0].setAttribute("title","Enregistrer la fiche et la soumettre au copil pour publication");
}
bouton_valider.before("<input type=\"button\" title=\"Sauvegarder la fiche sans la vérifier (celle ci ne sera pas publiée)\" id=\"sauvegarde_form\" onclick=\"validerFormulaire(false)\" value=\"sauvegarder\" />");
recherche = false;
}
else
{
// fabrication du contenu de l'onglet Application
lien_ici = '<li><a id="onglet_lien_ici" href="#">Application</a></li>';
htmlOnglets = '<div id="selecteur_onglets" class="onglets"> <ul id="liste_onglets">';
htmlOnglets += lien_ici;
// fabrication du contenu de l'onglet Communauté
htmlOnglets += '<li><a id="onglet_lien_forum" href="#">Communauté</a></li>';
// On crée le lien qui sera placé au dessus de la liste des commentaires
laius_forum = 'Prochainement, un forum sera mis à votre disposition afin de vous permettre de partager vos commentaires avec la communauté d\'une manière plus complète ';
lien_forum_general = "<div id=\"lien_forum_general\"><h2> Forum</h2><p>"+laius_forum+"</p></div><hr style=\"clear: both; visibility: hidden\">";
$("#zone_commentaires").after(lien_forum_general);
// fabrication du contenu de l'onglet espace de démo
htmlOnglets += '<li><a id="onglet_lien_demo" href="#">Espace démo</a></li>';
// on récupère le lien vers l'espace démo et on le cache
lien_demo = $("#bf_lien_demo_description");
if(lien_demo.html() == null || lien_demo.html().replace(/^\s+/g,'').replace(/\s+$/g,'') == "http://") {
lien_demo_html = " ";
}
else {
lien_demo_html = "<a href="+lien_demo.html()+" >"+lien_demo.html()+"</a>";
}
lien_demo.hide();
// on récupère le commentaire associé et on le cache aussi
comm_demo = $("#bf_com_demo_description");
if(comm_demo.html() == null) {
comm_demo_html = " Aucune description renseignée ";
}
else {
comm_demo_html = comm_demo.html();
}
comm_demo.hide();
lien_demo_general = "<div id=\"lien_demo_general\"><h2> Espace de démonstration</h2><p id=laius_demo>"+comm_demo_html+"</p>"+lien_demo_html+"</div><hr style=\"clear: both; visibility: hidden\">";
$("#zone_commentaires").after(lien_demo_general);
// fabrication du contenu de l'onglet téléchargement et forge
htmlOnglets += '<li><a id="onglet_lien_forge" href="#">Téléchargement et forge</a></li>';
// on récupère les liens vers l'espace téléchargement et forge et on les cache
lien_forge = $("#bf_lien_forge_description");
if(lien_forge.html() == null || lien_forge.html().replace(/^\s+/g,'').replace(/\s+$/g,'') == "http://") {
lien_forge_html = " ";
}
else {
lien_forge_html = "<a href="+lien_forge.html()+" >"+lien_forge.html()+"</a>";
}
lien_forge.hide();
lien_telechargement = $("#bf_lien_telechargement_description");
if(lien_telechargement.html() == null || lien_telechargement.html().replace(/^\s+/g,'').replace(/\s+$/g,'') == "http://") {
lien_telechargement_html = " ";
}
else {
lien_telechargement_html = "<a href="+lien_telechargement.html()+" >"+lien_telechargement.html()+"</a>";
}
lien_telechargement.hide();
// on récupère les commentaires associés à l'espace téléchargement et forge et on les cache
comm_forge = $("#bf_com_forge_description");
if(comm_forge.html() == null) {
comm_forge_html = " Aucune description renseignée ";
}
else {
comm_forge_html = comm_forge.html();
}
comm_forge.hide();
comm_telechargement = $("#bf_com_telechargement_description");
if(comm_telechargement.html() == null) {
comm_telechargement_html = " Aucune description renseignée " ;
}
else {
comm_telechargement_html = comm_telechargement.html();
}
comm_telechargement.hide();
lien_telechargement_general = "<div id=\"lien_telechargement_general\"><h2> Téléchargement </h2><p id=laius_telechargement>"+comm_telechargement_html+"</p>"+lien_telechargement_html+"</div><hr style=\"clear: both; visibility: hidden\"><br />";
lien_forge_general = "<div id=\"lien_forge_general\"><h2> Forge </h2> <p id=laius_forge>"+comm_forge_html+"</p>"+lien_forge_html+"</div><hr style=\"clear: both; visibility: hidden\">";
$("#lien_demo_general").after(lien_telechargement_general+lien_forge_general);
// on ferme la liste des onglets
htmlOnglets += '</ul></div><hr style="clear: both; visibility: hidden">';
// et on la positionne à l'endroit indiqué par un id spécifique
$("#ancre_onglets").after(htmlOnglets);
// on cache la rubrique lien
$("#lien_onglet_"+(onglets.length - 1)).hide();
// et tous les intitulés concernant les information de la fiche qui ont été
// déplacées dans les onglet
$("#bf_lien_forge_rubrique").hide();
$("#bf_lien_demo_rubrique").hide();
$("#bf_lien_forum_rubrique").hide();
$("#bf_com_demo_rubrique").hide();
$("#bf_com_forge_rubrique").hide();
$("#bf_com_telechargement_rubrique").hide();
// on ajoute ensuite la gestion du clic pour le changement d'onglet
$("#onglet_lien_ici").bind("click", function() { changerOngletsConsultation("onglet_lien_ici"); });
$("#onglet_lien_forum").bind("click", function() { changerOngletsConsultation("onglet_lien_forum"); });
$("#onglet_lien_demo").bind("click", function() { changerOngletsConsultation("onglet_lien_demo"); });
$("#onglet_lien_forge").bind("click", function() { changerOngletsConsultation("onglet_lien_forge"); });
// et enfin on laisse visible quel le contenu du premier onglet
changerOngletsConsultation("onglet_lien_ici");
}
$(".BAZ_bulle_corps_application").before('<hr style="clear: both; visibility: hidden">');
for(j = 0 ; j < onglets.length; j++)
{
ajouterListenersAccordeonOuOnglets(j,consultation);
}
cacherAfficherLiensListe(false);
if(consultation) {
cacherTousLesOnglets();
} else {
changerAccordeonOuOnglets(0,consultation);
}
}
function cacherAfficherLiensListe(afficher) {
max = $(".lien_onglet").length;
if(afficher == true) {
}
else {
$("#lien_onglet_"+(max)).parent().nextAll().each(function () {
$(this).hide();
});
}
}
function ajouterListenersAccordeonOuOnglets(id,consultation) {
if(consultation) {
$("#lien_onglet_"+id).bind("click", function() {changerAccordeonOuOnglets(id,consultation);});
}
}
function validerFormulaire(verifier) {
if(verifier == true) {
try { if(validate_formulaire(document.getElementById("formulaire"))) { $("#formulaire").submit();} } catch(e) { window.alert(e.message); return true; };
}
else {
var url_origine = $("#formulaire").attr("action");
modif = false;
url_ajax = $("#formulaire").attr("action");
url_ajax += "&valider_fiche=0";
var callback = function(reponse_json) {
reponse_brute = reponse_json.match('{"success":(?:false|true,"id_fiche":[0-9]+)}') ;
reponse_json = reponse_brute[0] ;
var reponse = eval('('+reponse_json+')');
if(reponse.success == true) {
window.alert('Votre fiche a été sauvegardée');
// cas de la nouvelle fiche on passe en mode modification
if(url_origine.indexOf("bazar_action=11") != -1) {
url_origine = url_origine.replace("bazar_action=11","bazar_action=13");
url_origine += "&id_fiche="+reponse.id_fiche;
}
$("#formulaire").attr("action",url_origine);
}
else {
window.alert('Problème de sauvegarde de la fiche');
$("#formulaire").attr("action",url_origine);
}
};
$("#formulaire").attr("action",url_ajax);
$("#formulaire").ajaxSubmit(callback);
$("#formulaire").attr("action",url_origine);
return false ;
}
}
$(document).ready(ajouterAccordeonOuOnglets);
var champsSontCaches ;
function ajouterLienRechercheAvancee() {
champsCaches = $(".form_depliable > table > tbody > tr");
var i = 1 ;
champsSontCaches = true;
longueur = champsCaches.length ;
champsCaches.each(function() {
if(i == 2) {
this.setAttribute("id","emplacement_recherche_avancee_base");
}
if(i >= 2 && i < longueur) {
this.setAttribute("class","emplacement_recherche_avancee");
}
i++;
});
$("#emplacement_recherche_avancee_base").before("<tr id=\"cell_lien_rech_avancee\"><td><a href=# id=\"lien_rech_avancee\">+ recherche avancee</a></td></tr>");
$(".emplacement_recherche_avancee").hide();
$("#lien_rech_avancee").click(function (champsSontCaches) {
cacherAfficherLiensRechercheAvancee();
});
}
function cacherAfficherLiensRechercheAvancee() {
$(".emplacement_recherche_avancee").toggle();
if(champsSontCaches) {
$("#lien_rech_avancee").text("- recherche simple");
champsSontCaches = false;
} else {
$("#lien_rech_avancee").text("+ recherche avancee");
champsSontCaches = true;
}
}
$(".form_depliable").ready(ajouterLienRechercheAvancee);