﻿var rl_head = document.getElementsByTagName('head').item(0);

function RoutesLibertines()
  {
  if( document.location.host != "draft.blogger.com" )
    document.getElementById('outer-wrapper').style.display = 'none';
  // Switch en fonction du type de page
  var locations = document.location.href.split('/');
  var vcards = getElementsByClass('vcard');
  var geos = getElementsByClass('geo');
  if( locations.length <= 4)
    {
    HomePage();
    document.getElementById('box-map').style.display = '';
    BloggerToMaps();
    }
  else if( locations[4] == "label" )
    {
    LabelPage(); // En attendant mieux...
    document.getElementById('box-map').style.display = '';
    BloggerToMaps();
    }
  else if(( vcards.length == 0 ) && ( geos.length > 0 ))
    {
    // Surrement un index ou une page d'info
    IndexPage();
    document.getElementById('wait-box').style.display = 'none';
    }
  else
    {
    BlogPage();
    document.getElementById('box-map').style.display = '';
    BloggerToMaps();
    document.getElementById('wait-box').style.display = 'none';
    }
  }

///////////////////////////////
// Traitement de la Home Page
///////////////////////////////
function HomePage()
  {
  var flux = 'http://' + document.location.host + '/feeds/posts/default?max-results=5000&redirect=false&alt=json-in-script&callback=HomePageJson';
  // CallBack de lecture de tout les posts
  var ScriptJson = document.createElement('script');
  ScriptJson.setAttribute('src', flux);
  ScriptJson.setAttribute('type', 'text/javascript');
  rl_head.appendChild(ScriptJson);

  var flux = 'http://provence-coquine.blogspot.com/feeds/posts/default/-/Breves?max-results=5000&redirect=false&alt=json-in-script&callback=BrevesJson';
  // CallBack de lecture de tout les posts
  var ScriptJson = document.createElement('script');
  ScriptJson.setAttribute('src', flux);
  ScriptJson.setAttribute('type', 'text/javascript');
  rl_head.appendChild(ScriptJson);
  }

// CallBack HomePage
function BrevesJson(json)
  {
  var entries = json.feed.entry;
  for (var ent = 0; ent < 1; ent++) // Derniere info
    {
    var entry = entries[ent];
    // Recherche de l'url du post.
    var entry_url;
    for (var k = 0; k < entry.link.length; k++) 
      {
      if (entry.link[k].rel == 'alternate') 
        {
        entry_url = entry.link[k].href;
        break;
        }
       }
    var entry_dom = document.createElement('span');
    entry_dom.innerHTML = entry.content.$t;

    document.getElementById('v2-div-breves-lpc').style.display = '';
    var div_review_une = document.getElementById('v2-breves-lpc');
    div_review_une.appendChild( entry_dom.cloneNode(true) );
    } // Fin des entries
  }
// CallBack HomePage
function HomePageJson(json)
  {
  var entries = json.feed.entry;
  for (var ent = 0; ent < entries.length; ent++) 
    {
    var entry = entries[ent];
    // Recherche de l'url du post.
    var entry_url;
    for (var k = 0; k < entry.link.length; k++) 
      {
      if (entry.link[k].rel == 'alternate') 
        {
        entry_url = entry.link[k].href;
        break;
        }
       }
    var entry_dom = document.createElement('span');
    entry_dom.innerHTML = entry.content.$t;
    // VEvent
    var Events = getElementsByClass('vevent',entry_dom)
    for(var eve = 0; eve < Events.length; eve++ )
      {
      Event_Array.push( new Event_Object(Events[eve], entry_url) );
      }
    var Reviews = getElementsByClass('hreview',entry_dom)
    for(var rev = 0; rev < Reviews.length; rev++ )
      {
      Review_Array.push( new Review_Object(Reviews[rev], entry_url) );
      }
    } // Fin des entries
    Review_Display(entry_dom);
    Event_Display(entry_dom);
    document.getElementById('wait-box').style.display = 'none';
  }

var Event_Array = new Array();
function Event_Object(dom, url) 
  {
  this.dom = dom;
  this.url = url;

  this.summary = "";
  var summaries = getElementsByClass('summary',dom);
  if( summaries.length > 0 )
    this.summary = summaries[0].innerHTML;

  this.title = this.summary;

  this.date = "1900/01/01"
  var DtStarts = getElementsByClass('dtstart',dom)
  if( DtStarts.length > 0 )
    {
    this.date = DtStarts[0].getAttribute("title");
    this.title = this.summary + " (" + this.date + ")";
    }

  this.dateEnd = "1900/01/01"
  var DtEnds = getElementsByClass('dtend',dom)
  if( DtEnds.length > 0 )
    {
    this.dateEnd = DtEnds[0].getAttribute("title");
    this.title = this.summary + " (" + this.dateEnd + ")";
    }
  }

function Event_Sort(a,b)
  {
  return (a.date < b.date)?1:-1;
  }
  
function Event_Display()
  {
  if( Event_Array.length > 0 )
    {
    Event_Array.sort(Event_Sort);

    toDay = new Date();

    getMonth = toDay.getMonth() + 1;
    if( getMonth < 10 )
      getMonth = "0" + getMonth;

    getDate = toDay.getDate();
    if( getDate < 10 )
      getDate = "0" + getDate;

    DateJour = toDay.getFullYear() + "/" + getMonth + "/" + getDate;

    toDay.setTime(toDay.getTime() - 5184000000);

    getMonth = toDay.getMonth() + 1;
    if( getMonth < 10 )
      getMonth = "0" + getMonth;

    getDate = toDay.getDate() + 1;
    if( getDate < 10 )
      getDate = "0" + getDate;

    DatePast = toDay.getFullYear() + "/" + getMonth + "/" + getDate;
    
    toDay.setTime(toDay.getTime() + 5184000000 + 5184000000 );

    getMonth = toDay.getMonth() + 1;
    if( getMonth < 10 )
      getMonth = "0" + getMonth;

    getDate = toDay.getDate() + 1;
    if( getDate < 10 )
      getDate = "0" + getDate;

    DateFuture = toDay.getFullYear() + "/" + getMonth + "/" + getDate;

    var div_agenda = document.getElementById('v2-agenda');
    var div_review = document.getElementById('v2-review');

    var events_h4 = document.createElement('h4');
    events_h4.appendChild(document.createTextNode('Evénements'));
    div_review.appendChild(events_h4);

    for( var eva = 0; eva < Event_Array.length; eva++)
      {
      var events_a = document.createElement('a');
      events_a.appendChild(document.createTextNode( Event_Array[eva].title ));
      events_a.href = Event_Array[eva].url;
      
      var event_dom = document.createElement('li');
      event_dom.style.margin = '2px';
      event_dom.style.marginLeft = '12px';
      event_dom.appendChild(events_a);      

      if( Event_Array[eva].url == null )
        event_dom = Event_Array[eva].dom;


      
      if(( Event_Array[eva].date <= DateJour ) && ( DateJour <= Event_Array[eva].dateEnd))
        {
        div_agenda.style.display = "";
        div_agenda.appendChild(event_dom);
        }
      else if( Event_Array[eva].date < DatePast )
        var rien = '';
      else if( DateFuture < Event_Array[eva].date )
        var rien = '';
      else if( DateJour < Event_Array[eva].date )
        {
        div_agenda.appendChild(event_dom);
        }
      else if( Event_Array[eva].date < DateJour )
        {
        div_review.style.display = '';
        div_review.appendChild(event_dom);
        }
      }
    }
  }
// HREVIEW
var Review_Array = new Array();
function Review_Object(dom, url) 
  {
  this.dom = dom;
  this.url = url;

  this.summary = "";
  var summaries = getElementsByClass('summary',dom);
  if( summaries.length > 0 )
    this.summary = summaries[0].innerHTML;

  this.title = this.summary;

  this.date = "1900/01/01"
  var DtReviewed = getElementsByClass('dtreviewed',dom)
  if( DtReviewed.length > 0 )
    {
    this.date = DtReviewed[0].getAttribute("title");
    }
  }

function Review_Sort(a,b)
  {
  return (a.date < b.date)?1:-1;
  }
  
function Review_Display()
  {
  if( Review_Array.length > 0 )
    {
    Review_Array.sort(Review_Sort);

    var div_review_une = document.getElementById('v2-review-une');
    div_review_une.appendChild( Review_Array[0].dom.cloneNode(true) );

/*    main_top_left.innerHTML = "";
    main_top_left.style.display = "";
    main_top_left.appendChild( Review_Array[0].dom.cloneNode(true) );*/

    var div_review = document.getElementById('v2-review');
    var revnts_h4 = document.createElement('h4');
    revnts_h4.appendChild(document.createTextNode('Critiques et revue de presse'));
    div_review.appendChild(revnts_h4);
    div_review.style.display = '';

    for( var eva = 0; eva < Review_Array.length; eva++)
      {
      if( Review_Array[eva].date != '1900/01/01' )
        {
        var revnts_a = document.createElement('a');
        revnts_a.appendChild(document.createTextNode( Review_Array[eva].title ));
        revnts_a.href = Review_Array[eva].url;
        
        var revnt_dom = document.createElement('li');
        revnt_dom.style.margin = '2px';
        revnt_dom.style.marginLeft = '12px';
        revnt_dom.appendChild(revnts_a);      

        if( Review_Array[eva].url == null )
          revnt_dom = Review_Array[eva].dom;

        div_review.appendChild(revnt_dom);
        }
      }
    }
  }
///////////////////////////////////
// Traitement des pages de labels
///////////////////////////////////

function LabelPage()
  {
  var flux = 'http://' + document.location.host + '/feeds/posts/default?max-results=5000&redirect=false&alt=json-in-script&callback=HomePageJson';
  var locations = document.location.href.split('/');
  if( locations[4] == "label" )
    flux = 'http://' + document.location.host + '/feeds/posts/default/-/' + encodeURI(locations[5]) + '?max-results=1000&alt=json-in-script&callback=HomePageJson';

  // CallBack de lecture de tout les posts
  var ScriptJson = document.createElement('script');
  ScriptJson.setAttribute('src', flux);
  ScriptJson.setAttribute('type', 'text/javascript');
  rl_head.appendChild(ScriptJson);

  BlocTitle( decodeURI(locations[5]) );
  }
  
function IndexPage()
  {
  BlocTitle();
  BlocVevent();
  BlocComments();
  }
  
function BlogPage()
  {
  // affichage des vcards dans la sidebar de la carte.
  var vcards = getElementsByClass('vcard');
  if( vcards.length > 0 )
    {
    var div_titre_texte = document.getElementById('titre-texte');
    div_titre_texte.innerHTML = "";  

    for( var vca = 0; vca < vcards.length; vca++)
      {
      div_titre_texte.appendChild(vcards[vca]);
      }
    // affichage des star-ratings dans la sidebar de la carte.
    var stars = getElementsByClass('star-ratings');
    if( stars.length > 0 )
        div_titre_texte.appendChild(stars[0]);
    // Affichage Add to TomTom et Garmin
    
    var geos = getElementsByClass('geo', vcards[vca] );
    if( geos.length > 0 )
      {
      coords = geos[0].title.split(";");
      
      div_titre_texte.appendChild(document.createElement('br'));
      

      a_tomtom = document.createElement('a');
      a_tomtom.target = "_blank";

      a_tomtom.href = "http://addto.tomtom.com/api/home/v2/georeference?action=add&apikey=f0b27204-083d-451c-b283-d366573d99bf&name=" + encodeURI( geos[0].innerHTML )
      + "&latitude=" + coords[0] + "&longitude=" + coords[1] + "&attribution=Routes%20Libertines";
      img_tomtom = document.createElement('img');
      img_tomtom.src = "http://www.tomtom.com/lib/img/TomTomTips/buttons/btn_tomtom_1_icon.gif";
      img_tomtom.alt = "Add-To-TomTom" ;
      img_tomtom.style.border = "0";
      a_tomtom.appendChild(img_tomtom);
      a_tomtom.appendChild(document.createTextNode("Ajouter " + geos[0].innerHTML + " à votre GPS TomTom"));
      a_tomtom.setAttribute( "onClick", "javascript: pageTracker._trackPageview ('/gps/tomtom.com');");

      h_tomtom = document.createElement('h4');
      h_tomtom.className="gps";
      h_tomtom.appendChild(a_tomtom);
      div_titre_texte.appendChild(h_tomtom);

      div_titre_texte.appendChild(document.createElement('br'));
      a_garmin = document.createElement('a');
      a_garmin.target = "_blank";
      a_garmin.href = "http://my.garmin.com/locate/savePOI.htm?action=redirect&a_key=23a975a3926dc95651b5350ef3a4b632&name=" + encodeURI( geos[0].innerHTML.replace(" ", "+") )
      + "&hl=fr&lat=" + coords[0] + "&long=" + coords[1] + "&attribution=Routes%20Libertines&source=http://routes-libertines.blogspot.com/";
      a_garmin.setAttribute( "onClick", "javascript: pageTracker._trackPageview ('/gps/garmin.com');");

      var street = getElementsByClass('street-address', vcards[vca] );
      if( street.length > 0 )
        {
        a_garmin.href += "&street=" + street[0].innerHTML.replace(" ", "+");
        }
      var postcode = getElementsByClass('postal-code', vcards[vca] );
      if( postcode.length > 0 )
        {
        a_garmin.href += "&postcode=" + postcode[0].innerHTML.replace(" ", "+");
        }
      var city = getElementsByClass('locality', vcards[vca] );
      if( city.length > 0 )
        {
        a_garmin.href += "&city=" + city[0].innerHTML.replace(" ", "+");
        }
      var phone = getElementsByClass('tel', vcards[vca] );
      if( phone.length > 0 )
        {
        a_garmin.href += "&phone=" + phone[0].innerHTML.replace(" ", "+");
        }
      
      img_garmin = document.createElement('img');
      img_garmin.src = "http://www.garmin.com/lib/img/TomTomTips/buttons/btn_garmin_1_icon.gif";
      img_garmin.alt = "Add-To-Garmin" ;
      img_garmin.style.border = "0";
//      a_garmin.appendChild(img_garmin);
      a_garmin.appendChild(document.createTextNode("Ajouter " + geos[0].innerHTML + " à votre GPS Garmin"));

      h_garmin = document.createElement('h4');
      h_garmin.className="gps";
      h_garmin.appendChild(a_garmin);

      div_titre_texte.appendChild(h_garmin);

      }
    }
  BlocTitle();
  BlocVevent()
  BlocComments()
  }

function BlocVevent(entry_dom, entry_url)
  {
  var Events = getElementsByClass('vevent',entry_dom)
  for(var eve = 0; eve < Events.length; eve++ )
    {
    Event_Array.push( new Event_Object(Events[eve], entry_url) );
    }
  Event_Display(entry_dom)
  }
function BlocComments()
  {
  ////////////////////////////////
  // vos réactions // réagissez //
  ////////////////////////////////
  // Commentaires
  
  document.getElementById('backlinks-container').style.display = 'none';
  var div_review = document.getElementById('v2-review');
  div_review.style.display = '';
  var hreviews = getElementsByClass("hreview");
  for( var hre = 0; hre < hreviews.length; hre++)
    {
    div_review.appendChild(hreviews[hre]);
    }
  // Comments à gauche
  var comments = document.getElementById( 'comments' );
  var h_comments = comments.getElementsByTagName('h4');
  if( h_comments.length > 0 )
    {
    h_comments[0].innerHTML = '';
    h_comments[0].appendChild(document.createTextNode('Vos réactions sur ce lieu'));
    }
  div_review.appendChild(comments);
  // CommentForm a droite
  var commentform = getElementsByClass('comment-form');
  if( commentform.length > 0 )
    {
    var h_commentform = commentform[0].getElementsByTagName('h4');
    if( h_commentform.length > 0 )
      {
      h_commentform[0].innerHTML = '';
      h_commentform[0].appendChild(document.createTextNode('Réagissez sur ce lieu'));
      }
    div_review.appendChild(commentform[0]);
    }
  }
function BlocTitle(title)
  {
  // Affichage du titre du post dans le menu gauche
  var div_titre = document.getElementById('v2-titre');
  div_titre.innerHTML = '';

  var titles = getElementsByClass('entry-title');
  if( titles.length > 0 )
    {
    var as = titles[0].getElementsByTagName('a');
    if( as.length > 0 )
      {
      var menu_title = document.createElement('span');
      menu_title.className = 'rl-selected';
      if( title != null )
        menu_title.appendChild(document.createTextNode( title ));
      else
        menu_title.appendChild(document.createTextNode( as[0].innerHTML ));
      div_titre.appendChild(menu_title);
      }
    }  
  }
