/****************************************************************************************
================================================================================
                               www.gruppotesi.com
================================================================================
$RCSfile: diapo_poster.js,v $
$Revision: 1.3 $
$Date: 2009/10/08 16:22:23 $
$Author: u0112 $
$Name:  $

gestione visualizzazione diapositive/bibliografia risposte

Rev:
  20090828 - edoardo.galvagno@gruppotesi.com
  modifica scrittura diapo (adesso scriviamo sempre il testo linkato)
  
  20090716 - edoardo.galvagno@gruppotesi.com
  corretta visualizzazione diapo in elenco risposte da ricerca su home page
  
  20090113 - edoardo.galvagno@gruppotesi.com
  modifica alla bibliografia: se link e' di pubmed non ripeto il testo cui e' collegato

  20080717 - edoardo.galvagno@gruppotesi.com
  creazione

 ****************************************************************************************/

creaDiapo = function(altezzaDiapo) {
  if (!altezzaDiapo) var altezzaDiapo = 80;
  // 20080513 - edoardo.galvagno@gruppotesi.com
  // cerco i riferimenti nella risposta prima di fare le diapo, altrimenti trova anche quelle
  creaBibliografia();
  
  var leDiapo = $$('img.diapo');
  if (leDiapo.length > 0 || $$('.risposta .figure')[0]) {
   var pannello = new Element('div', { 'id': 'pannello_diapo' }).injectInside($E('body'));

   if (leDiapo.length > 0 || $$('.risposta .figure')[0]) {
     new Element('h3').appendText("Diapositive").injectInside(pannello);
     var wrapContieniDiapo = new Element('div', {'id' : 'wrap_contieni_diapo'}).injectInside(pannello);
     var contieniDiapo = new Element('div', {'id' : 'contieni_diapo'}).injectInside(wrapContieniDiapo);

     var i = 1;
     var larghStrip = 0; // larghezza di tutte le diapo assieme
     leDiapo.each(function(diapo) {
       var linkDiapo = new Element('a', {
         'rel' : 'lightbox[risposta]',
         'href' : diapo.src.replace(/\/localhost\/web\//, '/localhost/tesi/baxter/web/'),
         'title' : i + '. ' + diapo.alt
       });

       var indice = diapo.src.match(/(%5B|\[)(\d{1,2})(%5D|\])/)[2].toString().replace(/%5[BD]/g, '');

       linkDiapo.id = 'dia_' + i;

       var linkInTesto = linkDiapo.clone().addClass("link_diapo").injectBefore(diapo);
       linkInTesto.appendText("Figura ");
       new Element('b').appendText(indice).injectInside(linkInTesto);

       i++;

       diapo.remove();

       larghStrip = larghStrip + 72 + 11;
     }); // leDiapo.each()

     larghezzaPagina = $E('body').getStyle('width').toInt();
     altezzaPannello = pannello.getStyle('height').toInt() + 20;
     $E('body').setStyle('padding-bottom', altezzaPannello);
     pannello.setStyle('width', larghezzaPagina);
     if (window.ie6) pannello.setStyle('width', larghezzaPagina - 22);
     //imposto la corretta larghezza della strip
     contieniDiapo.setStyle('width', larghStrip);
     //alert(larghezzaPagina - 20);
     wrapContieniDiapo.setStyle('width', larghezzaPagina - 20);
     
     // sposto le miniature delle figure nella contenitore corretto delle diapo
     if ($$('.risposta .figure')[0]) {
       larghStrip = (72 + 11) * $$('.risposta .figure')[0].getChildren().length;
       $$('.risposta .figure')[0].getChildren().each(function(el) { el.injectInside(contieniDiapo)});
     }
     contieniDiapo.setStyle('width', larghStrip);
   } 

   // scrolla la pagina ad inizio risposta
   if (altezzaDiapo == 80) {
     // scrollo se sono in DOM01
     var scrollToRisposta = new Fx.Scroll(window, {'duration' : 1000}).scrollTo(0, $('blocco_centrale').offsetTop - 25);
   }

   // fa compare pannello con leggera trasparenza
   var fadeInPannello = new Fx.Style(pannello, 'opacity', {'duration' : 1000}).start(0, 0.9);
  }
};

creaBibliografia = function() {
  //20090716 - edoardo.galvagno@gruppotesi.com
  var risposte = $$('div.risposta div.corpo');
  
  risposte.each(function(risposta) {
    iRiferimenti = risposta.getElements('a');

    if (iRiferimenti.length > 0) {
      var links = [];
      var contieniBiblio = new Element('div', {'class' : 'domass biblio'}).injectAfter(risposta);
      new Element('p', {'id' : 'tit_rif'}).appendText("Bibliografia").injectInside(contieniBiblio);

      var j = 1;
      iRiferimenti.each(function(rif) {
        // controllo che non sia un link per le figure
        if (!rif.getParent().hasClass('figure')) {
          //controllo se il link non e' gia' presente
          if (!links.contains(rif.href)) {
            links.push(rif.href);
            var riferimento = rif.clone().addClass("link_rif").injectInside(contieniBiblio);
            var codNota = "[" + j + "] ";
            if (rif.title != "") {

              // if (!(rif.href.match(/nih\.gov\/pubmed\//))) {
              //   testoNota = rif.getText() + '. ';
              // } else {
              //   testoNota = '';
              // }
              testoNota = rif.getText() + '. ';
              testoNota = testoNota + rif.title;
            } else {
              testoNota = rif.getText();
            }
            testoNota = rif.title;
            riferimento.setText("");
            new Element('b').appendText(codNota).injectInside(riferimento);
            new Element('strong').appendText(rif.getText() + '. ').injectInside(riferimento);
            riferimento.appendText(testoNota);
            new Element('b').appendText(" [" + j + "]").injectInside(rif);
            j++;
          } else {
            // se c'era gia' metto il numero della nota relativa
            rif.appendText(" [" + (links.indexOf(rif.href) + 1) + "]");
          }
          rif.addClass('link_rif');
        }
      });
    }
  });
};