/****************************************************************************************
================================================================================
                               www.gruppotesi.com
================================================================================
$RCSfile: diapo.js,v $
$Revision: 1.2 $
$Date: 2008/11/27 11:45:58 $
$Author: u0112 $
$Name: PR_5_6_0 $

gestione visualizzazione diapositive/bibliografia risposte

Rev:  
  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) {
   var pannello = new Element('div', { 'id': 'pannello_diapo' }).injectInside($E('body'));

   if (leDiapo.length > 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,
         'title' : i + '. ' + diapo.alt
       });
       linkDiapo.id = 'dia_' + i;

       var linkInTesto = linkDiapo.clone().addClass("link_diapo").injectBefore(diapo);
       linkInTesto.appendText("Dia ");
       new Element('b').appendText(i).injectInside(linkInTesto);

       var imgDiapo = new Element('img', { 'src' : diapo.src, 'height' : altezzaDiapo.toString()});

       if (diapo.height > 0) {
         imgDiapo.width = ((altezzaDiapo / diapo.height) * diapo.width).toString();
       }

       imgDiapo.injectInside(linkDiapo);
       linkDiapo.injectInside(contieniDiapo);
       new Element('span').appendText(i).injectInside(linkDiapo);
       i++;

       diapo.remove();

       larghStrip = larghStrip + imgDiapo.width + 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
     //alert(larghezzaPagina);
     contieniDiapo.setStyle('width', larghStrip);
     //alert(larghezzaPagina - 20);
     wrapContieniDiapo.setStyle('width', larghezzaPagina - 20);
   } 

   // 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() {
  iRiferimenti = $$('div.risposta div.corpo a');

  var j = 1;
  if (iRiferimenti.length > 0) {
    var corpo = $$('div.risposta div.corpo')[0];
    var links = [];
    var contieniBiblio = new Element('div', {'class' : 'domass biblio'}).injectAfter(corpo);
    new Element('p', {'id' : 'tit_rif'}).appendText("Bibliografia").injectInside(contieniBiblio);

    var j = 1;
    iRiferimenti.each(function(rif) {
      //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 != "") {
          testoNota = rif.title;
        } else {
          testoNota = rif.getText();
        }
        riferimento.setText("");
        new Element('b').appendText(codNota).injectInside(riferimento);
        riferimento.appendText(testoNota);
        new Element('b').appendText(" [" + j + "]").injectInside(rif);
        //rif.appendText(" [" + j + "]");
        j++;
      } else {
        // se c'era gia' metto il numero della nota relativa
        rif.appendText(" [" + (links.indexOf(rif.href) + 1) + "]");
      }
      rif.addClass('link_rif');
    });
    /* new Element('br', {'class' : 'clear'}).injectInside(pannello); */
  }
}
