$(document).ready(function() {

  /**
   * Scrolling Flash-Info dans l'entête
   *
   */
  if ($("#info-container p").length > 0) { // S'il a au moins un paragraphe dans le div
    var container = $("#info-container"); // div conteneur
    var scrollInfo; // Fonction d'animation
    var containerWidth = 0; // largeur du div qui sera animé
    var totalWidth; // largeur précédente + largeur du div parent
    var defaultTempo; // Durée du défilement
    var velocity = 0.08; // Coéfficient pour régler la vitesse d'animation
    var padding = 50; // Espace inter-paragraphes placés en float (voir CSS)

    // Récupération de la largeur de chaque <p> dans le div conteneur et cumul
    $("#info-container p").each(function(elem) {
        // Réglage du padding sur chaque <p>
        $(this).css("padding-right", padding + "px");
        // Cumul largeur
        containerWidth += $(this).width() + padding;
      }
    );
    // Largeur totale = somme de tous les <p> plus largeur du div parent
    totalWidth = (container.parent().width() * 3) + containerWidth;
    // Affectation de la largeur/hauteur au conteneur
    container.width(totalWidth);
    container.height(container.parent().height());
    // Décalage du conteneur sur la droite de la largeur du parent (ie. #flash-info)
    container.css({left: container.parent().width()});
    // Vitesse de l'anim
    defaultTempo = Math.round(totalWidth / velocity);

    // Fonction d'animation
    scrollInfo = function(distance, tempo) {
      container.animate(
        {left: "-=" + distance},
        tempo,
        "linear",
        function() {
          // Callback de fin d'anim ; ça recommence
          container.css({left: container.parent().width()});
          scrollInfo(totalWidth, defaultTempo);
        }
      );
    }

    // Sur le survol, arrêt et redémarrage
    container.mouseover(
      function() {
        // Arrêt de l'anim
        container.stop();
      }
    ).mouseout(
      function() {
        // Redémarrage de l'anim avec ce qu'il reste à atteindre
        var offset = container.offset();
        var distance = offset.left + containerWidth;
        scrollInfo(distance, Math.round(distance / velocity));
      }
    );

    // Démarrage du scroll
    scrollInfo(totalWidth, defaultTempo);

  }


  /**
   * Rubrique Nos logiciels
   */
  if ($("#schemaglobal").length) {
    // Preload
    var images = new Array();
    images["transparent"] = new Image();
    images["transparent"].src = "/design/fr/images/logiciels/transparent.png";
    images["tradim-dechet"] = new Image();
    images["tradim-dechet"].src = "/design/fr/images/logiciels/tradim-dechet-masque.png";
    images["tradim-pesage"] = new Image();
    images["tradim-pesage"].src = "/design/fr/images/logiciels/tradim-pesage-masque.png";
    images["tradim-caract"] = new Image();
    images["tradim-caract"].src = "/design/fr/images/logiciels/tradim-caract-masque.png";
    images["tradim-gestion"] = new Image();
    images["tradim-gestion"].src = "/design/fr/images/logiciels/tradim-gestion-masque.png";

    $("area").mouseover(
      function() {
        $("#schema_tradim").attr({src: images[$(this).attr("id")].src});
      }
    ).mouseout(
      function() {
        $("#schema_tradim").attr({src: images["transparent"].src});
      }
    );
  }

});
