window.addEvent( 'domready', function() {
        

    /*
    if ($$(".slideshow").length>0){
        //slide_show();
    }
    */

    if($$(".onglets").length>0){
        onglets();
    }
    
} );

function switch_slider_hidden()
{
    if ( $('slider' ) )
    {
        if ( $('slider').hasClass('slider_hidden') )
        {   
            $('slider' ).removeClass('slider_hidden');
            var divs = $$('.slider');
            if(divs.length) {
                slider(divs.shift().getChildren('ul').shift(), $$('.slider .scroll .up').shift(), $$('.slider .scroll .down').shift());
            }
        }
        else
        {
            $('slider' ).addClass('slider_hidden');
        }
    }
}

//@@@@ Blocs dépliables
function facettes(el) {
    
    el.getElement('ul').addClass('js_ok');
    el.getElement('ul').addClass('hidden');
    
    el.addEvents({
        'mouseover': function() {
            this.addClass('selected');
            var liste_display = this.getElement('ul');
            liste_display.removeClass('hidden');
        },
        'focus': function() {
            this.addClass('selected');
            var liste_display = this.getElement('ul');
            liste_display.removeClass('hidden');
        },
        'mouseout': function() {
            this.removeClass('selected');
            this.getElement('ul').addClass('hidden');
        }
    });
}

//@@@@ Onglets
function onglets() {                                         
    
    var onglet = $$(".onglets li");
    
    onglet.each(function(el, index) {
        var lien = el.getElement("a");
        lien.set('href','javascript:void(0)');
        el.addEvent("click", function() {
            switch( el.getAttribute( 'id' ) )
            {
                case 'onglet_hebergement':
                    $('onglet_we').removeClass("selected");
                    $('idee_week-end').addClass("display_none");
                    $('hebergement').removeClass("display_none");
                    adjustIFrameSize( $('hebergement').contentWindow );
                    break;
                case 'onglet_we':
                    $('onglet_hebergement').removeClass("selected");
                    $('hebergement').addClass("display_none");
                    $('idee_week-end').removeClass("display_none");
                    break;
            }
            el.addClass("selected");
        });
    });
}

// ************** HELPERS **************

function array_key_exists(key, search){
    return key in search;
}


var liste_diaporamas = new Array();
var current_img = new Array();
var loading_count = new Array();

window.addEvent( 'domready', function() {
    for(var i=0; i < liste_diaporamas.length; i++){
        var params = liste_diaporamas[i];
        createDiapo(i,params[0], params[1], params[2], params[3], params[4], params[5], params[6]);
    }
} );

window.addEvent( 'domready', function() {
    var addThisOffreWELink = $('addThisOffreWE');
    if (addThisOffreWELink) {
        new Asset.javascript('http://s7.addthis.com/js/250/addthis_widget.js');
        addThisOffreWELink.addEvents({
            'mouseout': function() {
                addthis_close();
            },
            'click': function () {
                return addthis_open(this, '', '[URL]', '[TITLE]');
            }
        });
    }
} );

/**
 * Cette fonction initialise un bloc de diaporama et loading_count
 *
 * parametres :
 * -index: Un identifiant servant à des variables dans current_img et loading_count
 * -liste_photos: Un tableau d'url des images à afficher
 * -id_container : id du block qui contiendra toutes les diapos
 * -prefixe_div_id : préfixe qui sera utilisé pour l'id de chaque image du diapo. Un numéro sera ajouté a ce préfixe pour
 * identifier les images
 * -periode: la période de transition des images
 * -lien_diapo : url optionnelle pour afficher un lien autour des images
 * -text_alt : tableau de textes alt
 * - css_class : classe css qui sera ajouter sur chaque élément
 */
function createDiapo(index, liste_photos, id_container, prefixe_div_id, periode, lien_diapo, texte_alt, css_class){
    current_img[index] = -1;
    
    var myTimer;

    if (liste_photos.length >=1){
		
        //Création du conteneur pour les bandeaux d'images
        
        var container = $(id_container);
        
        var loader_diapo = new Asset.images(liste_photos, {
            onProgress: function(counter,id) {
                
                if(lien_diapo == ''){
                    var item = new Element('img',{
                        src:liste_photos[counter],
                        'alt':texte_alt[counter],
                        id:prefixe_div_id+counter,
                        'class':css_class
                    }).inject(container);
                }
                else{
                    //Création du lien de l'image
                    var item = new Element('a', {
                        'href': lien_diapo ,
                        'title': texte_alt[counter],
                        id:prefixe_div_id+counter,
                        'class':css_class
                    }).inject(container);
                    var img_photo = new Element('img',{
                        src:liste_photos[counter],
                        'alt':texte_alt[counter]
                        }).inject(item);
                }
				
                // On active le compteur à partir de 2 éléments
                if(liste_photos.length >= 2){
                    item.setOpacity(0); //Bandeau invisible par défaut
                    //@@@@ compteur
                    loading_count[index] = counter;
                    if (counter == 0) {
                        
                        startdiapo();
                        myTimer = startdiapo.periodical(periode);
                    }
                }
            }
        });
    }
	
    //@@@@ slideshow
    var startdiapo = function() {
        
        if (current_img[index] >= 0) {
            $(prefixe_div_id + current_img[index]).fade(1, 0);
        } else {
            current_img[index] = 0;
        }
		 
        if (current_img[index] >= loading_count[index]) {
            current_img[index] = 0;
        } else {
            current_img[index] ++;
        }
        $(prefixe_div_id + current_img[index]).fade(0, 1);
    }
}

/**
 * autoajustement des iframes
 */
function adjustIFrameSize( iframeWindow ) 
{
    if (iframeWindow.document.height)
    {
        var iframeElement = document.getElementById( iframeWindow.name );
        iframeElement.style.height = iframeWindow.document.height + 'px';
    }
    else if (document.all)
    {
        var iframeElement = document.all[iframeWindow.name];
        if (iframeWindow.document.compatMode &&
            iframeWindow.document.compatMode != 'BackCompat')
            {
            iframeElement.style.height = iframeWindow.document.documentElement.scrollHeight + 5 + 'px';
        }
        else
        {
            iframeElement.style.height = iframeWindow.document.body.scrollHeight + 5 + 'px';
        }
    }
}


window.addEvent( 'domready', function() {
    if ($defined($('date_debut'))) {
        var calDepotDebut 	= new Calendar({
            'date_debut': 'd/m/Y',
            'date_fin': 'd/m/Y'
        });
    }
});

function slider(ul, scrollUp, scrollDown) {
    var items = ul.getElements('li');
    var index = 0;
    var height = items[0].getSize().y;

    function scrollTo(top) {
        ul.set('tween', {duration : 500}).tween('top', top);
    }

    if (items.length > 0) {
        scrollUp.addEvent('click', function() {
            if (index > 0)
            {
                 scrollTo(0 - ((index -= 2) * height));
            }
/*
            // Redescent
            if (index <= 0) scrollTo(0 - ((index = items.length - (2 - (items.length % 2))) * height));
            // Monte
            else scrollTo(0 - ((index -= 2) * height));
*/
            return false;
        });

        scrollDown.addEvent('click', function() {
            if ( index < items.length - (2 - (items.length % 2)))
            {
                scrollTo(0 - ((index += 2) * height));
            }
/*
            // Remonte
            if(index >= items.length - (2 - (items.length % 2))) scrollTo(index = 0);
            // Descent
            else scrollTo(0 - ((index += 2) * height));
*/
            return false;
        });
    }
}




