[SPIP] +2.1.12
[velocampus/web/www.git] / www / prive / javascript / presentation.js
1
2 // Un petit plugin jQuery pour ajouter une classe au survol d'un element
3 $.fn.hoverClass = function(c) {
4 return this.each(function(){
5 $(this).hover(
6 function() { $(this).addClass(c); },
7 function() { $(this).removeClass(c); }
8 );
9 });
10 };
11
12
13 var bandeau_elements = false;
14 var dir_page = $("html").attr("dir");
15
16 function getBiDiOffset(el) {
17 var offset = el.offsetLeft;
18 if(dir_page=="rtl")
19 offset = (window.innerWidth || el.offsetParent.clientWidth)-(offset+el.offsetWidth);
20 return offset;
21 }
22
23 function decaleSousMenu() {
24 var sousMenu = $("div.bandeau_sec",this).css({visibility:'hidden',display:'block'});
25 if(!sousMenu.length) return;
26 var left;
27 if($.browser.msie) {
28 if(sousMenu.bgIframe) sousMenu.bgIframe();
29 left = getBiDiOffset(sousMenu[0].parentNode) + getBiDiOffset($("#bandeau-principal div")[0]);
30 } else left = getBiDiOffset(sousMenu[0]);
31 if (left > 0) {
32 var demilargeur = Math.floor( sousMenu[0].offsetWidth / 2 );
33 var gauche = left - demilargeur
34 + Math.floor(largeur_icone / 2);
35 if (gauche < 0) gauche = 0;
36 sousMenu.css(dir_page=="rtl"?"right":"left",gauche+"px");
37 }
38 sousMenu.css({display:'',visibility:''});
39 }
40
41 function changestyle(id_couche, element, style) {
42
43 // La premiere fois, regler l'emplacement des sous-menus
44 if (!bandeau_elements) {
45 bandeau_elements = $('#haut-page div.bandeau');
46 }
47
48 // Masquer les elements du bandeau
49 var select = $(bandeau_elements).not('#'+id_couche);
50 // sauf eventuellement la boite de recherche si la souris passe en-dessous
51 if (id_couche=='garder-recherche') select.not('#bandeaurecherche');
52 select.css({'visibility':'hidden', 'display':'none'});
53 // Afficher, le cas echeant, celui qui est demande
54 if (element)
55 $('#'+id_couche).css({element:style});
56 else
57 $('#'+id_couche).css({'visibility':'visible', 'display':'block'});
58 }
59
60 var accepter_change_statut = false;
61
62 function selec_statut(id, type, decal, puce, script) {
63
64 node = findObj('imgstatut'+type+id);
65
66 if (!accepter_change_statut)
67 accepter_change_statut = confirm(confirm_changer_statut);
68
69 if (!accepter_change_statut || !node) return;
70
71 $('#statutdecal'+type+id)
72 .css('marginLeft', decal+'px')
73 .removeClass('on');
74
75 $.get(script, function(c) {
76 if (!c)
77 node.src = puce;
78 else {
79 r = window.open();
80 r.document.write(c);
81 r.document.close();
82 }
83 });
84 }
85
86 function prepare_selec_statut(nom, type, id, action)
87 {
88 $('#' + nom + type + id)
89 .hoverClass('on')
90 .addClass('on')
91 .load(action + '&type='+type+'&id='+id);
92 }
93
94 function changeclass(objet, myClass) {
95 objet.className = myClass;
96 }
97
98
99 function hauteurFrame(nbCol) {
100 hauteur = $(window).height() - 40;
101 hauteur = hauteur - $('#haut-page').height();
102
103 if (findObj('brouteur_hierarchie'))
104 hauteur = hauteur - $('#brouteur_hierarchie').height();
105
106 for (i=0; i<nbCol; i++) {
107 $('#iframe' + i)
108 .height(hauteur + 'px');
109 }
110 }
111
112 function changeVisible(input, id, select, nonselect) {
113 if (input) {
114 element = findObj_forcer(id);
115 if (element.style.display != select) element.style.display = select;
116 } else {
117 element = findObj_forcer(id);
118 if (element.style.display != nonselect) element.style.display = nonselect;
119 }
120 }
121
122
123
124 // livesearchlike...
125
126
127
128 // effacement titre quand new=oui
129 var antifocus=false;
130 // effacement titre des groupes de mots-cles de plus de 50 mots
131 var antifocus_mots = new Array();
132
133 function puce_statut(selection){
134 if (selection=="publie"){
135 return "puce-verte.gif";
136 }
137 if (selection=="prepa"){
138 return "puce-blanche.gif";
139 }
140 if (selection=="prop"){
141 return "puce-orange.gif";
142 }
143 if (selection=="refuse"){
144 return "puce-rouge.gif";
145 }
146 if (selection=="poubelle"){
147 return "puce-poubelle.gif";
148 }
149 }