source: spip-zone/_squelettes_/soyezcreateurs_net/plugins_2.1/plugins/soyezcreateurs/javascripts.js.html @ 65130

Last change on this file since 65130 was 65130, checked in by real3t@…, 9 years ago

Le menu déroulant accessible devient multi niveaux
Inspiré de http://users.tpg.com.au/j_birch/plugins/superfish/
Menu accessible : http://aquelito.fr/truc/menu3/

File size: 23.6 KB
Line 
1#CACHE{30*24*3600,cache-client}
2#HTTP_HEADER{Content-Type: text/javascript; charset=iso-8859-1}
3// Menu accessible dynamique et CSS alternatives, V 2.0 (avec jquery)
4//
5// Copyright (c) 2004 Jacques PYRAT
6// http://www.pyrat.net/
7//
8// Licensed under the LGPL license
9// http://www.gnu.org/copyleft/lesser.html
10//
11// **********************************************************************
12// This program is distributed in the hope that it will be useful, but
13// WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15// **********************************************************************
16//
17// Presets
18var jp_blankpic='#CHEMIN{images/1.gif}';
19var jp_onclass='menu_plus';
20var jp_offclass='menu_minus';
21var jp_picalt='<:soyezcreateurs:menu_picalt:>';
22var jp_strDeplier='<:soyezcreateurs:menu_deplier:>';
23var jp_strReplier='<:soyezcreateurs:menu_replier:>';
24var jp_parentID='menu';
25// Checking for DOM compatibility       
26if (document.getElementById && document.createTextNode && document.createElement){jp_canDOM=true}
27
28function jp_expinit(){
29        if (jp_canDOM){
30                if(jp_parentID && document.getElementById(jp_parentID)){
31                        jp_alluls=document.getElementById(jp_parentID).getElementsByTagName('UL');
32                        jp_alllis=document.getElementById(jp_parentID).getElementsByTagName('LI');
33                        for(i=0;i<jp_alluls.length;i++){
34                                jp_subul=jp_alluls[i];
35                                if(jp_subul.parentNode.tagName=='LI'){
36                                        jp_supli=jp_subul.parentNode
37                                        jp_islink=jp_supli.getElementsByTagName('a')[0];
38                                        if(jp_islink){
39                                                jp_addimg = document.createElement('img');
40                                                jp_addimg.src=jp_blankpic;
41                                                jp_addimg.className='node';
42                                                jp_addimg.alt='';
43                                                jp_addimg.onclick=function() {jp_ex(this,null);return false;};
44                                                jp_supli.getElementsByTagName('A')[0].onkeypress=inputKeyHandler;
45                                                jp_supli.getElementsByTagName('A')[0].onfocus=function() {jp_ex(this,0);};
46                                                jp_supli.insertBefore(jp_addimg,jp_supli.firstChild);
47                                        }
48                                        // Do not collapse when there is a strong element in the list.
49                                        jp_highlight=jp_subul.parentNode.getElementsByTagName('strong').length==0?true:false;
50                                        jp_disp=jp_highlight?'none':'block';
51                                        var jp_picaltonoff=jp_highlight?jp_picalt+jp_strDeplier:jp_picalt+jp_strReplier;
52                                        jp_pic_class=jp_highlight?jp_onclass:jp_offclass;
53                                        // End  highlight change
54                                        jp_childs=jp_subul.getElementsByTagName('li').length
55                                        jp_momimg=jp_subul.parentNode.getElementsByTagName('img')[0]
56                                        if(jp_momimg){
57                                                jp_momimg.setAttribute('title',jp_picaltonoff+jp_subul.parentNode.getElementsByTagName('a')[0].text);
58                                                jp_momimg.setAttribute('alt',jp_picaltonoff+jp_subul.parentNode.getElementsByTagName('a')[0].text);
59                                                jp_momimg.className=jp_pic_class;
60                                                jp_subul.style.display=jp_disp;
61                                        }
62                                }
63                        }
64                }
65        }
66}
67
68// Collapse and Expand node.
69function jp_ex(jp_n,jp_event){
70        if(jp_canDOM){
71                jp_u=jp_n.parentNode.getElementsByTagName("ul")[0];
72                if (!jp_u) jp_u=jp_n.parentNode.parentNode.getElementsByTagName("ul")[0];;
73                if(jp_u){
74                        if (((jp_u.style.display=='none'||jp_u.style.display=='')&&(jp_event==0||jp_event==43||jp_event==null))||((jp_u.style.display=='block')&&(jp_event==45||jp_event==null))) {
75                                jp_u.style.display=jp_u.style.display=='none'||jp_u.style.display==''?'block':'none';
76                                jp_img=jp_u.parentNode.getElementsByTagName('img')[0];
77                                jp_img.className=jp_img.className.indexOf(jp_offclass)!=-1?jp_onclass:jp_offclass;
78                                var jp_strAlt=jp_img.getAttribute('title');
79                                if (jp_strAlt==null) { jp_strAlt=''; }
80                                if (jp_img.className.indexOf(jp_offclass)!=-1) {
81                                        var jp_re = new RegExp (jp_strDeplier, 'gi');
82                                        var jp_strAltNew = jp_strAlt.replace(jp_re,jp_strReplier);
83                                }else{
84                                        var jp_re = new RegExp (jp_strReplier, 'gi');
85                                        var jp_strAltNew = jp_strAlt.replace(jp_re,jp_strDeplier);
86                                }
87                                jp_img.setAttribute('title',jp_strAltNew);
88                                jp_img.setAttribute('alt',jp_strAltNew);
89                                adjustLayout();
90                                return true;
91                        } else {
92                                return false;
93                        }
94                }
95        }                       
96}
97function inputKeyHandler(ev) {
98        ev = ev || event;
99        if (jp_ex(ev.target || ev.srcElement,ev.keyCode || ev.which)) {
100                ev.cancelBubble= true;
101                if (ev.stopPropagation) ev.stopPropagation();
102        }
103}
104
105
106function adjustLayout() {
107        /* Remettre la taille à auto pour trouver l'eventuelle nouvelle hauteur !*/
108        $("div.equilibre").css({'height': 'auto'});
109        /*******************************************CAS N°1********************************************************************/
110        /*Nav, Contenu et Extra alignes top (Layout 1 a 22)*/
111        var tnotstackable =0;
112        tnotstackable = parseInt($("div.notstackable")[0].offsetTop);
113        tlaststackable = parseInt($("div.laststackable")[0].offsetTop);
114        if (tnotstackable==tlaststackable) {
115                        var h=0;
116                        $("div.equilibre").each(function(){ h=Math.max(h,this.offsetHeight); }).css({'height': h+'px'});
117                        $("div.equilibre").css({'height': parseInt($("div.equilibre")[0].offsetHeight)});
118                        /*alert("Cas 1");*/
119        }
120        else {
121/*********************************************CAS 2*********************************************************************/
122        /* Navigation et Extra sont empiles (Layout 23 a 26 et 33 et 34)*/
123                leftlaststackable = parseInt($("div.laststackable")[0].offsetLeft);
124                leftnavigation = parseInt($("div#navigation")[0].offsetLeft);
125                largeurnavigation = parseInt($("div#navigation")[0].offsetWidth);
126                largeurextra = parseInt($("div.laststackable")[0].offsetWidth);
127                if ((leftlaststackable == leftnavigation) && (largeurextra == largeurnavigation)) {
128                        var hstacked = 0;
129                        $("div.stackable").each(function(){ hstacked+=parseInt(this.offsetHeight); });
130                        var hnotstackable = 0;
131                        hnotstackable = parseInt($("div.notstackable")[0].offsetHeight);
132                        if (hnotstackable>hstacked) {
133                                $("div.laststackable").css({'height': hnotstackable + parseInt($("div.laststackable")[0].offsetHeight) - hstacked+'px'});
134                                $("div.notstackable").css({'height': hnotstackable+'px'});
135                                /*alert("Cas 2");*/
136                        }
137                        else {
138                                $("div.notstackable").css({'height': hstacked+'px'});
139                        };
140                }
141                else {
142/**********************************************CAS 3*******************************************************************/
143        /* Navigation et Extra meme Top et differents de Contenu (Layout 27-28-39-40)*/
144                        tlaststackable = parseInt($("div.laststackable")[0].offsetTop);
145                        tstackable = parseInt($("div.stackable")[0].offsetTop);
146                        if (tstackable==tlaststackable){
147                                var h=0;
148                                $("div.stackable").each(function(){ h=Math.max(h,this.offsetHeight); }).css({'height': h+'px'});
149                                /*alert("Cas 3");*/
150                        }
151                        else {
152/**********************************************CAS 4*******************************************************************/
153        /* Navigation et Contenu meme alignement Top (Layout 35 et 36)*/
154                                largeurcontenu = parseInt($("div.notstackable")[0].offsetWidth);
155                                if (largeurcontenu==largeurextra) {
156                                        hstackable = (hauteurcontenu = parseInt($("div.notstackable")[0].offsetHeight)) + (hauteurext = parseInt($("div.laststackable")[0].offsetHeight));
157                                        hnavigation = parseInt($("div#navigation")[0].offsetHeight);
158                                        if(hstackable < hnavigation) {
159                                                $("div.notstackable").css({'height': (hnavigation - hauteurext)+'px'});
160                                        }
161                                        else {
162                                                $("div#navigation").css({'height': hstackable+'px'});
163                                        }
164                                        /*alert("Cas 4");*/
165                                }
166                                else    {
167/**********************************************CAS 5*******************************************************************/
168        /* Navigation et Contenu meme alignement Top (Layout 29 a 32 et 37 et 38)*/
169                                        hstackable = (hauteurcontenu = parseInt($("div.notstackable")[0].offsetHeight));
170                                        hnavigation = parseInt($("div#navigation")[0].offsetHeight);
171                                        if(hstackable > hnavigation) {
172                                                $("div#navigation").css({'height': hstackable+'px'});
173                                        }
174                                        else {
175                                        $("div.notstackable").css({'height': hnavigation+'px'});
176                                        }
177                                        /*alert("Cas 5");*/
178                                }
179                        }
180                }
181        }
182}
183;
184/* FUNCTIONS ON ALL PAGES */
185function myInitPages() {
186    jQuery('body').addClass('hasJS');
187        [(#CONFIG{soyezcreateurs_layout/menuderoulant,replie}|=={replie}|oui)jp_expinit();]
188        // Surligner l'evenement en cours
189        var id_anchor  = location.hash.substr(1); //Get the word after the hash from the url
190        if (id_anchor) $('#'+id_anchor).parent().addClass('highlight_anchor'); // ajoute la classe highlight_anchor à l'element autour de l'ancre
191        if (CanceladjustLayout != true) {
192                adjustLayout();
193                $("body").resize(
194                        function () {
195                        adjustLayout();
196                        }
197                );
198                if (CancelMonitorTextSize != true) {
199                        $.em.element = $('<div />').css({ left:     '-100em',
200                                                                                position: 'absolute',
201                                                                                width:    '100em' })
202                                                                 .prependTo('div.texte')[0];
203                        $('div.texte').bind('emchange', function(e, cur, prev) { adjustLayout(); });
204                }
205                onAjaxLoad(adjustLayout); // Merci Marcimat sur IRC !
206        }
207;
208[(#CONFIG{soyezcreateurs/native_tooltips}|=={on}|non)
209        $(function() {
210                $('a, input, select, img, button, h2, h3, dd, acronym, abbr, area').tooltip({
211                        track: false,
212                        delay: 0,
213                        showURL: false,
214                        showBody: " - ",
215                        fade: 250
216                });
217        });
218]
219        $(".escapelinks a").focus( function() { $(".escapelinks").removeClass("escapelinks"); } );
220
221}
222;
223/* BLACK TRANSPARENT BACKGROUNDS */
224function mySpecialBackgrounds(elt,correcAmount,correcAmount2) {
225        jQuery(elt).each(function() {
226                var targetHeight = jQuery(this).parent().height();
227                var targetWidth = jQuery(this).parent().width();
228                jQuery(this).css({'height':targetHeight+correcAmount,'width':targetWidth+correcAmount2,'opacity':.5});
229        });
230}
231;
232/* HOME SPECIAL FEATURE */
233function myHomeSpecialFeature(container,item,decoImg,decoSpan) {
234        jQuery('#'+item+'1').addClass('active'+item);
235        mySpecialBackgrounds('.'+item+' .'+decoSpan,14,10);
236        jQuery('#'+item+'1 .'+decoSpan).css("opacity", 1);
237        jQuery('.'+item+' .'+decoImg).hide();
238        jQuery('#'+item+'1 .'+decoImg).show();
239
240        var x = 1;
241        var maxX = jQuery('.'+item).size();
242        function myAnimate(x,maxX) {
243                if (x > maxX) { x = 1; }
244                jQuery('.'+item).removeClass('active'+item);
245                jQuery('#'+item+x).addClass('active'+item);
246                jQuery('.'+item+' .'+decoSpan).animate({"opacity": .5}, { queue:false, duration:800 });
247                jQuery('#'+item+x+' .'+decoSpan).animate({"opacity": 1},800);
248                jQuery('.'+item+' .'+decoImg).fadeOut(800);
249                jQuery('#'+item+x+' .'+decoImg).fadeIn(800);
250                timer = setTimeout(function() {
251                        if (x < maxX) { x = x+1; myAnimate(x,maxX); }
252                        else if (x = maxX) { x = 1; myAnimate(x,maxX); }
253                } , 5000 );
254        }
255        myAnimate(x,maxX);
256
257        jQuery('.'+item).each(function() {
258                jQuery(this).hover(
259                        function() {
260                                clearTimeout(timer);
261                                currentItem = jQuery('.'+item).index(this)+1;
262                                jQuery('.'+item).removeClass('active'+item);
263                                jQuery(this).addClass('active'+item);
264                                jQuery('.'+item+' .'+decoSpan+':not("#'+item+currentItem+' .'+decoSpan+'")').css("opacity", .5);
265                                jQuery(this).children().children('.'+decoSpan).animate({"opacity": 1},400);
266                                jQuery('.'+item+' .'+decoImg+':not("#'+item+currentItem+' .'+decoImg+'")').fadeOut(400);
267                                jQuery(this).children('.'+decoImg).fadeIn(400);
268                        },
269                        function() {
270                                clearTimeout(timer);
271                                currentItem = jQuery('.'+item).index(this)+2;
272                                jQuery(this).removeClass('active'+item);
273                                jQuery(this).children().children('.'+decoSpan).animate({"opacity": .5},400);
274                                timer = setTimeout(function() { myAnimate(currentItem,maxX); } , 1000 );
275                        }
276                );
277        });
278}
279;
280
281/* HOME CYCLE */
282function homeCarousel(elt) {
283        /* carousels internes */
284        var elemNbr = jQuery(elt+' > li').size();
285        var myCounter = 1;
286        function onAfter(curr,next,opts) {
287                if (opts.currSlide+1 == opts.slideCount) {
288                        if (myCounter < elemNbr) {
289                                myCounter = myCounter+1;
290                        } else if (myCounter == elemNbr) {
291                                myCounter = 1;
292                        }
293
294                        function reloadCarousels() {
295                                jQuery('.smallCarousel').stop(true,true).fadeOut(750);
296                                jQuery('#sc'+myCounter+'b').stop(true,true).fadeIn(750).children('ul').cycle({
297                                    //fx: 'scrollHorz', // pour transition latérale
298                                    fx: 'fade',
299                                    speed: 1500,
300                                    timeout: 4000,
301                                        pause: true,
302                                        startingSlide: 0,
303                                        after: onAfter
304                                });
305                        jQuery('.mainCarousel').removeClass('active');
306                        if (myCounter == 1) {
307                                jQuery('.mainCarousel:first').addClass('active');
308                        } else {
309                                        jQuery('.mainCarousel').eq(myCounter-1).addClass('active');
310                        }
311                }
312                        jQuery('.smallCarousel').children('ul').cycle('stop');
313                        var t2=setTimeout(reloadCarousels,3000);
314                } else {
315                        clearTimeout(t2);
316                }
317                //alert(myCounter);
318        }
319        function onAfter2(curr,next,opts) {
320                //
321        }
322        jQuery('.smallCarousel ul').cycle({
323            //fx: 'scrollHorz', // pour transition latérale
324            fx: 'fade',
325            speed: 1500,
326            timeout: 4000,
327                pause: true,
328                startingSlide: 0,
329                after: onAfter
330        });
331        jQuery('.smallCarousel').hide().children('ul').cycle('pause');
332        jQuery('#sc1b').show().children('ul').cycle('resume');
333        /* faux carousel principal */
334        var whatToShow = '';
335        jQuery('.mainCarousel:first').addClass('active');
336        jQuery(document).delegate('.mainCarousel','mouseenter focus', function() {
337                jQuery('.mainCarousel').removeClass('hover active');
338                jQuery(this).addClass('hover active');
339                whatToShow = jQuery(this).children('h2').children('a').attr('id');
340                jQuery('.smallCarousel').stop(true,true).fadeOut().children('ul').cycle('stop');
341                // jQuery(whatToShow).stop(true,true).fadeIn().children('ul').cycle({fx: 'scrollHorz',speed: 1500,timeout: 4000,pause: true,after: onAfter2}).cycle('resume'); // avec transition latérale
342                jQuery('#'+whatToShow+'b').stop(true,true).fadeIn().children('ul').cycle({fx: 'fade',speed: 1500,timeout: 4000,pause: true,startingSlide: 0,after: onAfter2});
343        }).delegate('.mainCarousel','mouseleave blur', function() {
344                whatToShow = jQuery(this).children('h2').children('a').attr('id');
345                jQuery(this).removeClass('hover');
346                // jQuery('.smallCarousel').stop(true,true).fadeOut().children('ul').cycle({fx: 'scrollHorz',speed: 1500,timeout: 4000,pause: true,after: onAfter}).cycle('pause'); // avec transition latérale
347                jQuery('.smallCarousel').stop(true,true).fadeOut().children('ul').cycle('stop');
348                jQuery('#'+whatToShow+'b').stop(true,true).fadeIn().children('ul').cycle({fx: 'fade',speed: 1500,timeout: 4000,pause: true,startingSlide: 0,after: onAfter});
349                myCounter = jQuery(this).index()+1;
350        });
351}
352
353/*
354 * Supersubs v0.2b - jQuery plugin
355 * Copyright (c) 2008 Joel Birch
356 *
357 * Dual licensed under the MIT and GPL licenses:
358 *      http://www.opensource.org/licenses/mit-license.php
359 *      http://www.gnu.org/licenses/gpl.html
360 *
361 *
362 * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
363 * their longest list item children. If you use this, please expect bugs and report them
364 * to the jQuery Google Group with the word 'Superfish' in the subject line.
365 *
366 */
367
368;(function($){ // $ will refer to jQuery within this closure
369
370        $.fn.supersubs = function(options){
371                var opts = $.extend({}, $.fn.supersubs.defaults, options);
372                // return original object to support chaining
373                return this.each(function() {
374                        // cache selections
375                        var $$ = $(this);
376                        // support metadata
377                        var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
378                        // get the font size of menu.
379                        // .css('fontSize') returns various results cross-browser, so measure an em dash instead
380                        var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
381                                'padding' : 0,
382                                'position' : 'absolute',
383                                'top' : '-999em',
384                                'width' : 'auto'
385                        }).appendTo($$).width(); //clientWidth is faster, but was incorrect here
386                        // remove em dash
387                        $('#menu-fontsize').remove();
388                        // cache all ul elements
389                        $ULs = $$.find('ul');
390                        // loop through each ul in menu
391                        $ULs.each(function(i) {
392                                // cache this ul
393                                var $ul = $ULs.eq(i);
394                                // get all (li) children of this ul
395                                var $LIs = $ul.children();
396                                // get all anchor grand-children
397                                var $As = $LIs.children('a');
398                                // force content to one line and save current float property
399                                var liFloat = $LIs.css('white-space','nowrap').css('float');
400                                // remove width restrictions and floats so elements remain vertically stacked
401                                var emWidth = $ul.add($LIs).add($As).css({
402                                        'float' : 'none',
403                                        'width' : 'auto'
404                                })
405                                // this ul will now be shrink-wrapped to longest li due to position:absolute
406                                // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
407                                .end().end()[0].clientWidth / fontsize;
408                                // add more width to ensure lines don't turn over at certain sizes in various browsers
409                                emWidth += o.extraWidth;
410                                // restrict to at least minWidth and at most maxWidth
411                                if (emWidth > o.maxWidth)               { emWidth = o.maxWidth; }
412                                else if (emWidth < o.minWidth)  { emWidth = o.minWidth; }
413                                emWidth += 'em';
414                                // set ul to width in ems
415                                $ul.css('width',emWidth);
416                                // restore li floats to avoid IE bugs
417                                // set li width to full width of this ul
418                                // revert white-space to normal
419                                $LIs.css({
420                                        'float' : liFloat,
421                                        'width' : '100%',
422                                        'white-space' : 'normal'
423                                })
424                                // update offset position of descendant ul to reflect new width of parent
425                                .each(function(){
426                                        var $childUl = $('>ul',this);
427                                        var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
428                                        $childUl.css(offsetDirection,emWidth);
429                                });
430                        });
431                       
432                });
433        };
434        // expose defaults
435        $.fn.supersubs.defaults = {
436                minWidth                : 9,            // requires em unit.
437                maxWidth                : 25,           // requires em unit.
438                extraWidth              : 0                     // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
439        };
440       
441})(jQuery); // plugin code ends
442
443// Inspiré de http://users.tpg.com.au/j_birch/plugins/superfish/
444// Menu accessible : http://aquelito.fr/truc/menu3/
445/*
446 * Superfish v1.4.8 - jQuery menu widget
447 * Copyright (c) 2008 Joel Birch
448 *
449 * Dual licensed under the MIT and GPL licenses:
450 *      http://www.opensource.org/licenses/mit-license.php
451 *      http://www.gnu.org/licenses/gpl.html
452 *
453 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
454 */
455
456
457;(function($){
458        $.fn.superfish = function(op){
459                var sf = $.fn.superfish,
460                        c = sf.c,
461                        $arrow = $(['<span class="'+ c.arrowClass +'"></span>'].join('')),
462                        over = function(){
463                                var $$ = $(this), menu = getMenu($$);
464                                clearTimeout(menu.sfTimer);
465                                $$.showSuperfishUl().siblings().hideSuperfishUl();
466                        },
467                        out = function(){
468                                var $$ = $(this), menu = getMenu($$), o = sf.op;
469                                clearTimeout(menu.sfTimer);
470                                menu.sfTimer=setTimeout(function(){
471                                        o.retainPath=($.inArray($$[0],o.$path)>-1);
472                                        $$.hideSuperfishUl();
473                                        if (o.$path.length && $$.parents([ 'li.', o.hoverClass ].join('')).length<1){over.call(o.$path);}
474                                },o.delay);     
475                        },
476                        getMenu = function($menu){
477                                var menu = $menu.parents([ 'ul.', c.menuClass, ':first' ].join(''))[0];
478                                sf.op = sf.o[menu.serial];
479                                return menu;
480                        },
481                        addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
482                       
483                return this.each(function() {
484                        var s = this.serial = sf.o.length;
485                        var o = $.extend({},sf.defaults,op);
486                        o.$path = $('li.'+ o.pathClass,this).slice(0, o.pathLevels).each(function(){
487                                $(this).addClass([o.hoverClass,c.bcClass].join(' '))
488                                        .filter('li:has(ul)').removeClass(o.pathClass);
489                        });
490                        sf.o[s] = sf.op = o;
491                       
492                        $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
493                                if (o.autoArrows) { 
494                                        addArrow( $(' > a:first-child',this) );
495                                        addArrow( $(' > strong > a:first-child',this) );
496                                }
497                        })
498                        .not('.'+c.bcClass)
499                                .hideSuperfishUl();
500                       
501                        var $a = $('a',this);
502                        $a.each(function(i){
503                                var $li = $a.eq(i).parents('li');
504                                $a.eq(i).focus(function() { over.call($li); } ).blur(function() { out.call($li); });
505                        });
506                        o.onInit.call(this);
507                       
508                }).each(function() {
509                        var menuClasses = [c.menuClass];
510                        if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
511                        $(this).addClass(menuClasses.join(' '));
512                });
513        };
514
515        var sf = $.fn.superfish;
516        sf.o = [];
517        sf.op = {};
518        sf.IE7fix = function(){
519                var o = sf.op;
520                if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity != undefined)
521                        this.toggleClass(sf.c.shadowClass + '-off');
522                };
523        sf.c = {
524                bcClass     : 'sf-breadcrumb',
525                menuClass   : 'drop',
526                anchorClass : 'sf-with-ul',
527                arrowClass  : 'sf-sub-indicator',
528                shadowClass : 'sf-shadow'
529        };
530        sf.defaults = {
531                hoverClass      : 'sfhover',
532                pathClass       : 'overideThisToUse',
533                pathLevels      : 1,
534                delay           : 800,
535                animation       : {opacity:'show'},
536                speed           : 'normal',
537                autoArrows      : true,
538                dropShadows : true,
539                disableHI       : false,                // true disables hoverIntent detection
540                onInit          : function(){}, // callback functions
541                onBeforeShow: function(){},
542                onShow          : function(){},
543                onHide          : function(){}
544        };
545        $.fn.extend({
546                hideSuperfishUl : function(){
547                        var o = sf.op,
548                                not = (o.retainPath===true) ? o.$path : '';
549                        o.retainPath = false;
550                        var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find(' > ul');
551                        o.onHide.call($ul);
552                        return this;
553                },
554                showSuperfishUl : function(){
555                        var o = sf.op,
556                                sh = sf.c.shadowClass+'-off',
557                                $ul = this.addClass(o.hoverClass).find(' > ul:hidden');
558                        sf.IE7fix.call($ul);
559                        o.onBeforeShow.call($ul);
560                        $ul.animate(o.animation, o.speed, function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
561                        return this;
562                }
563        });
564})(jQuery);
565
566/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
567 * Licensed under the MIT License (LICENSE.txt).
568 *
569 * Version 2.1.2
570 */
571
572(function($){
573
574$.fn.bgiframe = ($.browser.msie && /msie 6\.0/i.test(navigator.userAgent) ? function(s) {
575    s = $.extend({
576        top     : 'auto', // auto == .currentStyle.borderTopWidth
577        left    : 'auto', // auto == .currentStyle.borderLeftWidth
578        width   : 'auto', // auto == offsetWidth
579        height  : 'auto', // auto == offsetHeight
580        opacity : true,
581        src     : 'javascript:false;'
582    }, s);
583    var html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
584                   'style="display:block;position:absolute;z-index:-1;'+
585                       (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
586                       'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
587                       'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
588                       'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
589                       'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
590                '"/>';
591    return this.each(function() {
592        if ( $(this).children('iframe.bgiframe').length === 0 )
593            this.insertBefore( document.createElement(html), this.firstChild );
594    });
595} : function() { return this; });
596
597// old alias
598$.fn.bgIframe = $.fn.bgiframe;
599
600function prop(n) {
601    return n && n.constructor === Number ? n + 'px' : n;
602}
603
604})(jQuery);
605
606$(document).ready(function() {
607        myInitPages();
608        /* HOME SPECIAL FEATURE */
609        if (jQuery('#homeSpecialFeature').size() > 0) {
610                if (jQuery('.hSFItem').size()>1) { initMyHomeSpecialFeature = myHomeSpecialFeature("#homeSpecialFeature",'hSFItem','hSFDecoImg','hSFDecoSpan'); }
611        }
612        if (jQuery('#menuh').size() > 0) {
613                $(document).ready(function(){
614                  $("#menuh").attr('role','navigation').supersubs({
615            minWidth:    12,   // minimum width of sub-menus in em units
616            maxWidth:    24,   // maximum width of sub-menus in em units
617            extraWidth:  1     // extra width can ensure lines don't sometimes turn over
618                               // due to slight rounding differences and font-family
619        }).superfish({
620                        hoverClass: 'hover',
621                        delay: 800,
622                        disableHI: true,
623                        dropShadows: false
624                  }).find('ul').bgIframe({opacity:false});
625
626                  $("#switch-css option").click(function() {
627                                $("link").attr("href",$(this).attr('value'));
628                                return false;
629                        });
630                });
631        }
632        if (jQuery('#arretSurImg .mainCarousels').size() > 0) { homeCarousel('.mainCarousels'); }
633});
Note: See TracBrowser for help on using the repository browser.