var boiteNews;
var HANDLER_TIMER = false;

Event.observe(window, 'load', function() {
   gest_Tableau();
   // appel de la fontion qui gere le layer une voiture selectionné 
   infoLayer();
   if($('jsFooterNewsLink'))
      Event.observe('jsFooterNewsLink','click',get_newsFooter);
   if($('jsTitle')) 
      Event.observe('jsTitle','click',get_newsFooter);  
   
});

   function getWindowHeight()
   {
     var windowHeight = 0;
     if (typeof(window.innerHeight) == 'number')
     {
       windowHeight = window.innerHeight;
     }
     else
     {
       if (document.documentElement && document.documentElement.clientHeight)
       {
         windowHeight = document.documentElement.clientHeight;
       }
       else
       {
         if (document.body && document.body.clientHeight)
         {
           windowHeight = document.body.clientHeight;
         }
       }
     }
     return windowHeight;
   }
   
function get_newsFooter()
{
   if(!$('jsNewsFooter').visible())
      boiteNews = new Effect.BlindDown('jsNewsFooter');
   else{
      boiteNews = new Effect.BlindUp('jsNewsFooter');
      $('jsFooterNewsLink').removeClassName('jsNewsAlert');
   }      
}
// gestion du click
// ajout l'evenment onClick à toute les lignes
function gestclck(mode)
{
   $$('.lignetab').each(function(unObj){ 
      if(mode==1)
      {
         
         Event.observe(unObj, 'click', get_Click,false);
      }
      else
      {
         
         Event.stopObserving(unObj, 'click', get_Click,false);
      }
   });

}
function get_Click(obj){
            
   if($('reponseLayerCourse'))
   {            
            if(this.hasClassName('marked'))
            {  
               // si on clique sur une ligne prémarqué => on lui retire le marquage et on cache les infos 
               unset_marked();
               $('reponseLayerCourse').hide();
               $('reponseLayerCourse').update(no_car_selected);
            }
            else
            {
               // suppression de toute ligne selectionné
               $$('.lignetab').each(function(unObj){unObj.removeClassName('marked');});            
               // on marque la ligne !
               this.addClassName('marked');
               // on récupére les données !
               var numligne = this.id.replace('ligne_','');
               $('id_ligne').value = numligne;
               // on affiche le layer 
               $('reponseLayerCourse').show();
               // on gere le bouton fermer du layer !
               get_UnVoiture(numligne);
            }         
    }
   
}

// gestion du tableau
function gest_Tableau()
{
      // on récupére les données !
      //var numligne = this.id.replace('ligne_','');
     var pars = 'idcourse='      +$('id_course').value+
                '&identete='     +$('id_entete').value+
                '&idvoiture='    +$('id_ligne').value+($('id_actu')?
                '&idactu='       +$('id_actu').value:'')+
                '&idpreccateg='  + $('id_prec_categ').value+
                '&idcat='        +$('id_categ').value+
                '&mode=all'      +
                '&typecourse='   +$('type_course').value; 
                
     var uri = '../../'+lang+'/s54_courses/_ajax_course.php';

      //$('wait_caract').show();

      var myAjax = new Ajax.Request( uri, 
                                          {
                                             method: 'get'
                                             , parameters: pars
                                             , onFailure: reportError
                                             , onComplete: setTime
                                             , onSuccess: function(transport) {   
                                                var myObject = transport.responseText.evalJSON();
                      
                                                if(myObject.tabPrincipal.MAJ)
                                                {
                                                   if(myObject.tabPrincipal.MAJ)
                                                   {                                                      
                                                      $('dateClassement').update(myObject.tabPrincipal.dateClassement);
                                                      $('tab_classement').update(myObject.tabPrincipal.contenu);
                                                      $('id_prec_categ').value = myObject.tabPrincipal.preccat;
                                                      new Effect.Highlight('contentCourse',{startcolor:"#CADCE5"});    
                                                      gest_Slider(myObject.tabPrincipal);                                                  
                                                   }  
                                                   // permet de savoir ou on en est 
                                                   // todo deplacement d'une page à l'autre!
                                                   $('id_entete').value = myObject.tabPrincipal.id_entete;
                                                   // on recupere des infos de la voiture selection ... si y en a une
                                                   if($("reponseLayerCourse") && $('id_ligne').value!="NO_ID_LIGNE")
                                                   {              
                                                      // on affiche le layer 
                                                      $('reponseLayerCourse').show();
                                                      // on gere le bouton fermer du layer !                                                   
                                                      $('reponseLayerCourse').update(myObject.voiture.contenu);
                                                      $('ligne_'+$('id_ligne').value).addClassName('marked');

                                                   }
                                                 
                                                   // mise à jour des news
                                                   gest_weather(myObject.weather);
                                                   if(myObject.tabSecondaire!=false){
                                                      get_classement(myObject.tabSecondaire.contenuTS);
                                                      get_news(myObject.breve.contenuB);
                                                   } 
                                                   if(myObject.breaking_news!=false)
                                                   gest_breakingNews(myObject.breaking_news);
                                                   

                                                   gestclck(1);
                                                }
                                                else
                                                {                                               
                                                   // je ne remet rien à jour ... ou ... je sais pas encore  
                                                }

                                             }
                                          }
                                   );
                               
}
function gest_Slider(tabPrin)
{
   if($('jsRulesContainer'))
   {
      tailleContainer = $('jsRulesContainer').offsetWidth;
      tailleSlide = $('jsSlider').offsetWidth;
      $('jsNbtour').update(tabPrin.nblaps);
      $('jsNbtourTotal').update(tabPrin.nblapsTotal);
      ratioSlide= parseInt(((tailleContainer-tailleSlide)* tabPrin.nblaps)/tabPrin.nblapsTotal,10);
      $('jsSlider').setStyle({'left': ratioSlide+'px'})
   }
}
function setTime(){                             
   //optimisation afin de remettre à jour 60 sec apres la fin de la maj précédente.
   //window.setTimeout('gest_Tableau()', 45000);
   if(HANDLER_TIMER) window.clearTimeout(HANDLER_TIMER);
   HANDLER_TIMER=window.setTimeout('gest_Tableau()', 45000);
}

function gest_weather(weatherObj) {
   if (weatherObj != false) {
      $('jsWeather').show();
      if($('jsAir_temp'))        $('jsAir_temp').update(weatherObj.air_temp);
      if($('jsTrack_temp'))      $('jsTrack_temp').update(weatherObj.track_temp);
      if($('jsHumidity'))        $('jsHumidity').update(weatherObj.humidity);
      if($('jsPressure'))        $('jsPressure').update(weatherObj.pressure);
      if($('jsWind_speed'))      $('jsWind_speed').update(weatherObj.wind_speed);
      if($('jsWind_direction'))  $('jsWind_direction').update(weatherObj.wind_direction);
   }
}

function reportError(){alert('une Erreur est survenu lors de l\'execution du script...');}

function get_UnVoiture(numligne)
{
      var pars = 'mode=uneVoiture&idvoiture='+numligne; 
      var uri = '../../'+lang+'/s54_courses/_ajax_course.php';

      //$('wait_caract').show();
      var myAjax = new Ajax.Request( uri, 
                                          {
                                             method: 'get'
                                             , parameters: pars
                                             , onFailure: reportError
                                             ,onSuccess: function(transport) {
                                                var myObject = transport.responseText.evalJSON();
                                                //console.log(myObject);
                                                if($("reponseLayerCourse"))
                                                $('reponseLayerCourse').update(myObject.voiture.contenu);
                                             }
                                          }
                                   );
}
// gestion des categories de voiture
function gest_Categorie(obj)
{
   
}

function gest_breakingNews(breaking_news)
{
   if(breaking_news.Update_breakingNews)
   {
      $('id_actu').value=breaking_news.id;
      $('jsTitle').update(breaking_news.title);
      $('jsTime').update(breaking_news.time);
      $('jsTextNews').update(breaking_news.text);
      // on va afficher le block
      $('jsFooterNewsContainer').show();
      $('jsFooterNewsLink').addClassName('jsNewsAlert');
      get_newsFooter();
   }
   else
   {

      if(breaking_news.breakingNews_vide)
      {      
         $('id_actu').value=0;
         $('jsTitle').update('');
         $('jsTime').update('');
         $('jsTextNews').update('');
               get_newsFooter();
         // on va cache le block
         $('jsFooterNewsContainer').hide();
      }
   }

}
// private !!! :)
function gest_UneCateg(num)
{
      var num = num.toString();
      
      $$('.lignetab').each(function (obj){obj.show();});
      
      if(num == "all") return;
      $$('.lignetab').each(function (obj){
         if(!obj.hasClassName(num))
         {
            obj.toggle();
         }
         
      });
}
// function qui retire le marquage de la ligne
function unset_marked()
{
   $('id_ligne').value="NO_ID_LIGNE";
   $$('.marked').each(function(obj){
      obj.removeClassName('marked');
   });
}
function closeLayer()
{
   /// on le cache 
   $('reponseLayerCourse').hide();
   unset_marked();
}
function get_categorie(obj)
{
   //On recupére le num de la categ
   var numcat = obj.id.replace('categorie_','');
   // applique le numéro dans le hidden id_categ
   $('id_categ').value = numcat;
   gest_Tableau();
}

function infoLayer()
{
   // permet de dragger le layer !!! 
   if($("reponseLayerCourse")){ new Draggable("reponseLayerCourse", {revert:false});}
}                                                   

