function set_js_active() {
    $$('body').addClass("js_active");
}
var addthis_language='fr';
var addthis_config = {
    username : 'Fleurs et jardins',
    services_compact: 'email, favorites, print, facebook, more'
}

window.addEvent( 'domready', function() {

    if ($$(".slideshow").length>0){
        slide_show();
    }
    
    if($$(".onglets").length>0){
        onglets();
    }
	
    // Ajout de la class first sur le premier element de la ferme de lien pour le probleme css
    if($$('#ferme_liens_overflow ul') != null){
        var firstLi = $$('#ferme_liens_overflow ul').getFirst();
        if(firstLi != null)
            firstLi.addClass('first');
    }

    var vues_agenda = $$('.vue_agenda h4 a, .vue_agenda .lien_plus a');
    if (vues_agenda != null) {
        $$('.vue_agenda .infos').slide('hide');
        vues_agenda.addEvents({
            'click' : function (event) {
                var infos = this.getParent('li').getElement('.infos');
                if (infos) {
                    infos.slide('toggle');
                    return false;
                } else return true;
            }
        });
}

var addThisButton = $('addThisButton');

    if (addThisButton) {
        new Asset.javascript('http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4dc9418b3f742876');
        // Efface les modifications apportés par lien_blanck()
        addThisButton.getFirst().removeEvents('click').erase('title');
        addThisButton.addEvents({
            'mouseout': function() {
                addthis_close();
            },
            'mouseover': function () {
                return addthis_open(this, '', '[URL]', '[TITLE]');
            }
        });
    }

    if ($('evenement_depart') && $('evenement_arrivee')) {
        var datepicker_cfg = {
            format : 'd/m/Y',
            inputOutputFormat : 'd/m/Y',
            startDay : 1,
            dayShort : 2,
            days : ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
            monthShort : 3,
            months : ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
            yearPerPAge : 3,
            allowEmpty : true,
            toggleElements : "#evenement_depart_img"
        }
        new DatePicker('#evenement_depart', datepicker_cfg);

        datepicker_cfg['toggleElements'] = "#evenement_arrivee_img";
        new DatePicker('#evenement_arrivee', datepicker_cfg);
    }

    var keywords = $$('#right input[name="keywords"]');
    if (keywords) {
        keywords.addEvents({
            'focus':function() {
                if(this.value == 'Mots clés') this.value = '';
            },
            'blur':function()  {
                if (this.value == '') this.value = 'Mots clés';
            }
        });
    }


    if ($defined($('date_debut'))) {
        var calDepotDebut 	= new Calendar({
            'date_debut': 'd/m/Y',
            'date_fin': 'd/m/Y'
        });
    }

    var brochure_checkbox = $$('#form_brochures form input[type="checkbox"]');
    if(brochure_checkbox.length == 1){
        brochure_checkbox[0].set('checked', 'checked');
    }

} );

//@@@@ Onglets
function onglets() {                                         
    
    var onglet = $$(".onglet_btn li");
    
    onglet.each(function(el, index) {
        var action_lien = el.get('class');
        el.addClass(action_lien);
        el.getElement("a").set('href','javascript:void(0)');
        if (index==0){
            if ($(action_lien)) $(action_lien).addClass("open");
            el.addClass("open");
        }
        
        el.addEvent("click", function() {
            $$(".onglet_btn li").removeClass("open");
            el.addClass("open");
            $$(".onglet_content").removeClass("open");
            if ($(action_lien)) $(action_lien).addClass("open");
        });
    });
}


//@@@@ slideshow d'images dans les pages offres
function slide_show() {
    var data = {
        'offre1.jpg': {
            caption: 'Quelque chose à dire 1'
        },
        'offre2.jpg': {
            caption: 'Quelque chose à dire 2'
        },
        'offre3.jpg': {
            caption: 'Quelque chose à dire 3'
        },
        'offre4.jpg': {
            caption: 'Quelque chose à dire 4'
        },
        'offre5.jpg': {
            caption: 'Quelque chose à dire 5'
        },
        'offre7.jpg': {
            caption: 'Quelque chose à dire 6'
        }
    };
    var myShow = new Slideshow('show', data, {
        controller: false,
        captions: true,
        height: 145,
        hu: 'images/ill/',
        thumbnails: true,
        width: 353
    });
   
    if ($$(".slideshow-thumbnails")){
        var precedent = new Element('p', {
            'class': 'prev' ,
            text:'Précédent'
        });
        var suivant = new Element('p', {
            'class': 'next' ,
            text:'Suivant'
        });
        $$(".slideshow-thumbnails").grab(precedent, 'top');   
        $$(".slideshow-thumbnails").grab(suivant, 'bottom');   
    }
}

//@@@@ permet d'ouvrir les liens externe dans une nouvelle fenêtre
/*function lien_blank() {
	
	var liens = $$("a");
	liens.each(function(lien) {
		var href = lien.get("href");
		if(null != href && (href.contains('http://')||href.contains('https://'))) 
		{
			lien.addEvent("click", function() {window.open(href);return false;});
			var titre_lien = lien.get('title');
			var intitule_lien = lien.get('text');
			if(titre_lien){
				lien.set("title", titre_lien+" (nouvelle fenêtre)");
			}else{
				lien.set("title", intitule_lien+" (nouvelle fenêtre)");
			}
		}
	});
	
}*/

function bando_diapo(liste_photos) {
	
    //@@@@ initialisation des elements pour un diaporama de photo
    //var liste_photos = ["images/ill/bando_visu_accueil_1.jpg","images/ill/bando_visu_accueil_2.jpg", "images/ill/bando_visu_accueil_3.jpg"];
    var current_img = -1;
    var myTimer;
    
    if(liste_photos.length >=2){
    	
        if($('default_header_image')){
            $('default_header_image').destroy();
        }
    
        //Création du conteneur pour les bandeaux d'images
    
        var loader_diapo = new Asset.images(liste_photos, { 
            onProgress: function(counter,index) {	 
                //Création de l'image
                var img_photo = new Element('img',{
                    src:liste_photos[counter],
                    'alt':'',
                    id:'diapo_'+counter,
                    'class':'bando'
                }).inject($('visu_container'));
                img_photo.setOpacity(0); //Image invisible par défaut
                
                //@@@@ compteur
                loading_count = counter;
                if (counter == 0) {
                    startdiapo();
                    myTimer = startdiapo.periodical(7000);
                }
            }
        });
        
        //@@@@ slideshow
        var startdiapo = function() {
            if (current_img >= 0) {
                $('diapo_' + current_img).fade(1, 0);
            } else {
                current_img = 0;
            }
             
            if (current_img >= loading_count) {
                current_img = 0;
            } else {
                current_img ++;
            }
            $('diapo_' + current_img).fade(0.5, 1);
        }
    }
}

/**
 * 
 * Fonction permettant d'ajouter une page aux favoris
 */
function favoris(url, title) {

    if (!url) url = window.document.URL;
    if (!title) title = window.document.title;
    
    if(window.external && window.external.AddFavorite)
    { // IE
        window.external.AddFavorite(url, title);
    }
    else if(window.sidebar && window.sidebar.addPanel)
    { // Firefox
        window.sidebar.addPanel(title, url, "");
    }
    else
    { // Autre navigateur (dont chrome)
        alert("Votre navigateur n'est pas compatible avec cette fonction");
    }
}

function createMarker( lat, lng, info, bounds, icon, label)
{
    var point = new GLatLng(lat, lng);
    var marker = new GMarker( point, {
        icon:icon
    } );

    if(info != null)
    {
        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(info);
        });
    }

    if (bounds != null)
    {
        bounds.extend(point);
    }

    return marker;
}

function vvfMap(map, datas, display_info, encodedPoints, encodedLevel, pathColor, pathFillColor, itinerary) {
    if (GBrowserIsCompatible()) {

        var encodedPolygon = new GPolygon.fromEncoded({
            polylines: [{
                points: encodedPoints,
                levels: encodedLevel,
                color: pathColor
            }],
            fill: true,
            color: pathFillColor,
            outline: true
        });

        map.addOverlay(encodedPolygon);

        if (map.getZoom() > 8 )
        {
            encodedPolygon.hide();
        }


        GEvent.addListener(map,"zoomend",function( oldLevel, newLevel ){
            if (oldLevel < 9 && newLevel > 8 )
            {
                encodedPolygon.hide();
            }
            else if (oldLevel > 8 && newLevel < 9 )
            {
                encodedPolygon.show();
            }
        });

        var bounds = new GLatLngBounds();

        for(var i=0; i < datas.length; i++)
        {
            var data = datas[i];

            // On récupère la description de notre point
            var latitude = data["latitude"];
            var longitude = data["longitude"];
            var label = data["label"];
            var icon = data["icon"];

            var icon = eval(data['icon']);

            var contentobject_id = data["contentobject_id"];
            var text = document.getElementById('location_' + contentobject_id).innerHTML;

            if(display_info == false)
            {
                text = null;
            }

            // On ajoute le point sur la carte
            var marker = createMarker( latitude, longitude, text, bounds, icon, label);
            map.addOverlay(marker);
        }

        if(itinerary) {
            var secondTry = false;
            function handleErrors(){
                if(secondTry)
                {
                    // Erreur dans l'adresse de l'itinéraire, affichage d'un message d'erreur
                    var divDirections = document.getElementById('directions');
                    divDirections.set('html', document.getElementById('gmap_error').get('html'));
                }
                else
                {
                    gdir.load( "from: " + from + ", France to: " + Lat + "," + Long, {
                        "locale": locale,
                        "getSteps": true
                    } );
                    secondTry = true;
                }
            }

            var locale = itinerary["locale"];
            var from = itinerary["from"];
            var Lat = itinerary["latitude"];
            var Long = itinerary["longitude"];

            var gdir = new GDirections(map, document.getElementById("directions"));

            GEvent.addListener(gdir, "error", handleErrors);
            var result = gdir.load("from: " + from + " to: " + Lat + "," + Long,	{
                "locale": locale ,
                "getSteps" : true
            });
        }
    }
}
